X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=archive.sh;h=26a0e8d667fb932068bed15ca2afc56ec4902d09;hb=0b96090f82bd835ed3707be7f7a32cc497272458;hp=985cc51ea4d7a2f48957fb1bb7993d1d8912e732;hpb=5b59dfd4b86ca165c34815c45dbed6eb45928038;p=config%2Fdotfiles.git diff --git a/archive.sh b/archive.sh index 985cc51..26a0e8d 100755 --- a/archive.sh +++ b/archive.sh @@ -21,22 +21,32 @@ # along with this program. If not, see . +set -eu + git_clone() { - git clone "$1" "$2" > /dev/null - cwd=`pwd` - cd "$2" && git remote rm origin && git gc && cd "$cwd" + git clone "$1" "$2" >/dev/null + ( cd "$2" && git remote rm origin && git gc ) } + +# Don't overwrite an existing file/directory. +if test -e tmp; then + echo 'tmp/ already exists!' + exit 1 +fi + git_clone . tmp/dotfiles for name in browser shell vcs vim x11; do - echo cloning $name to tmp/ + test -d $name || continue + + echo "cloning $name to tmp/" git_clone $name tmp/dotfiles/$name done archive=dotfiles.tar.gz -echo creating $archive +echo "creating $archive" tar cf tmp/$archive -C tmp -z dotfiles -echo moving $archive to . +echo "moving $archive to ." mv tmp/$archive . rm -rf tmp