X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=blobdiff_plain;f=tg.sh;h=1bc886aaee7bbcd2444e8950769b2b8932a7bbc3;hp=6312d0064d9fcb9529cf24b11f0aea1324bb79ae;hb=10ee8496b64f56b4a8bd32632ecd3dc4f66c2140;hpb=73faba23cdeffa3181bcfdb0c5966f01412f4013 diff --git a/tg.sh b/tg.sh index 6312d00..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/$_name" "$_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"