3 if ! [[ "$DATADIR" ]]; then
4 DATADIR
=/usr
/share
/gitgitconfig
8 # We don't want (for now) to work with .git in nonstandard locations.
9 #readonly REPOCONFIGDIR="$(git rev-parse --git-dir)"
10 readonly REPODIR
="$(git rev-parse --show-toplevel)"
16 # Local FS optimizations (like "git clone --reference")
17 # (http://git-blame.blogspot.fr/2012/08/bringing-bit-more-sanity-to-alternates.html):
18 echo ..
/..
/objects
> .git
/objects
/info
/alternates
19 # Perhaps, you can skip this if you are following this sequence of commands manually.
21 git remote add
-f -m GITCONFIG
/master origin
"$REPODIR"
22 # In order to restore your saved .git/config,
23 # we'd like to pull from some <remote>/GITCONFIG/master in origin
25 # And when saving your .git/config,
26 # we'd like to push our local master to GITCONFIG/master in origin
27 # (for further propagation to remote servers).
29 git config branch.master.remote origin
30 git config branch.master.merge GITCONFIG
/master
31 git config push.default upstream
33 # We'll see whether this will work out.
35 ##############################
38 # There are 2 variants:
39 # to put the patterns under version control
40 # (so that anyone who gets the branch with this stuff can comfortably
41 # use it with plain git, without my scripts):
42 cp -v "$DATADIR"/gitignore .gitignore
45 # to put the patterns not under version control
46 # (so that there is no extra junk in the branch, but then
47 # it's comfortable only if everyone uses this script for init):
48 #cp -v "$DATADIR"/gitignore .git/info/exclude
50 # Don't forget to "git add .gitignore" afterwards...
52 # Let us create the initial commit,
53 # operating without a HEAD is inconvenient in Git.
55 git commit
-m 'Initialized for saving config; track only relevant .git/ files.'