3 fail () { echo >&2 "$0: $*"; exit 1; }
10 1.-*) fail "no options understood" ;;
11 1.*) arg="$1"; shift ;;
12 *) fail "need one arg" ;;
16 *.git.tar) base=${arg%.tar} ;;
18 *) fail "arg must end in .git[.tar]" ;;
24 if test -f "$b.tar" && test -f "$b.edit"; then
25 echo "$b.edit exists, deleting possibly-obsolete $b.tar"
32 if test -d "$b.edit"; then
33 echo "$b.edit already exists"
36 if test -f "$b.tar"; then
38 (set -e; cd "$b.tmp"; tar xf "$b.tar")
39 mv "$b.tmp/$b" "$b.edit"
49 if test -d "$b.edit"; then
51 cp -al "$b.edit" "$b.tmp/$b"
52 (set -e; cd "$b.tmp"; tar cf "$b.tmp/tar")
53 mv "$b.tmp/tar" "$b.tar"
57 echo "$b.tar regenerated"
60 if test -f "$b.tar"; then
61 echo "$b.tar already exists and $b.edit doesn't"
68 if ! test -f "$b.tar" && ! test -f "$b.edit"; then
73 fail "unexpected situation in $b.*"
82 tryat "$pwd/git-srcs/$base"
83 tryat "$pwd/tests/git-srcs/$base"