More readable initialize.sh
[valse.git] / initialize.sh
... / ...
CommitLineData
1#!/bin/sh
2
3#initialize submodules, set-up .git/config and .gitattributes, and pre-push hook
4git submodule init && git submodule update --merge
5
6#filter for Jupyter
7python .nbstripout/nbstripout.py --install --attributes .gitattributes
8
9#filter for git-fat [TODO: idempotent...]
10printf '*.pdf filter=fat\n*.tar.xz filter=fat\n*.png filter=fat\n*.jpg filter=fat\n*.ps filter=fat\n' >> .gitattributes
11
12#pre-push hook: git fat push, submodules update
13printf '#!/bin/sh\n./.git-fat/git-fat pull\n./.git-fat/git-fat push\ngit submodule update --merge\n' > .git/hooks/pre-push
14chmod 755 .git/hooks/pre-push
15
16#.gitfat file with remote on gitfat@auder.net
17printf '[rsync]\nremote = gitfat@auder.net:~/files/valse\n' > .gitfat
18
19#manual git-fat init: with relative path to binary
20#1] remove filter if exists http://stackoverflow.com/questions/12179437/replace-3-lines-with-another-line-sed-syntax
21sed -i '1N;$!N;s/\[filter "fat"\]\n.*\n.*//;P;D' .git/config
22#2] place new filter
23printf '[filter "fat"]\n\tclean = ./.git-fat/git-fat filter-clean\n\tsmudge = ./.git-fat/git-fat filter-smudge\n' >> .git/config