X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=tg.sh;h=1bc886aaee7bbcd2444e8950769b2b8932a7bbc3;hb=a93c254df082ee5b1c6599e0ff045a6e1e203665;hp=146cddaa2bf3e1b22d0b5b2f089ce522b1a61a2e;hpb=99fb3f384a10b2c000b9a4c49eb5fc4fc518db7f;p=topgit.git diff --git a/tg.sh b/tg.sh index 146cdda..1bc886a 100644 --- a/tg.sh +++ b/tg.sh @@ -47,8 +47,8 @@ setup_ours() { if [ ! -s "$git_dir/info/attributes" ] || ! grep -q topmsg "$git_dir/info/attributes"; then { - echo -e ".topmsg\tmerge=ours" - echo -e ".topdeps\tmerge=ours" + echo ".topmsg merge=ours" + echo ".topdeps merge=ours" } >>"$git_dir/info/attributes" fi if ! git config merge.ours.driver >/dev/null; then @@ -95,7 +95,7 @@ recurse_deps() _cmd="$1"; shift _name="$1"; # no shift _depchain="$*" - _depsfile="$(mktemp)" + _depsfile="$(mktemp -t tg-depsfile.XXXXXX)" git cat-file blob "$_name:.topdeps" >"$_depsfile" _ret=0 while read _dep; do @@ -111,7 +111,7 @@ recurse_deps() # Shoo shoo, keep our environment alone! [ -z "$_dep_is_tgish" ] || - (needs_update "$_cmd" "$_dep" "$@") || + (recurse_deps "$_cmd" "$_dep" "$@") || _ret=$? eval "$_cmd" @@ -139,7 +139,7 @@ branch_needs_update() # _dep needs to be synced with its base echo ": $_dep $_depchain" _ret=1 - elif ! branch_contains "refs/top-bases/$1" "$_dep"; then + elif [ -n "$_name" ] && ! branch_contains "refs/top-bases/$_name" "$_dep"; then # Some new commits in _dep echo "$_dep $_depchain" _ret=1 @@ -195,7 +195,7 @@ do_help() sep="|" done - echo "TopGit v0.1 - A different patch queue manager" + echo "TopGit v0.2 - A different patch queue manager" echo "Usage: tg ($cmds|help) ..." elif [ -r "@sharedir@/tg-$1.txt" ] ; then cat "@sharedir@/tg-$1.txt"