X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=blobdiff_plain;f=tg.sh;h=9b93f1db17990effa6025b69fc62806c0b718f3f;hp=084dc5446e0fdf9e7cd5eaa4675ab7e4d1d3c06e;hb=e1f33bffec8c5254cbe23ccca8b916daad6db66b;hpb=3bc86894072f6a63820161e2f8a6ea19215a942c diff --git a/tg.sh b/tg.sh index 084dc54..9b93f1d 100644 --- a/tg.sh +++ b/tg.sh @@ -26,7 +26,7 @@ setup_hook() # Another job well done! return fi - # Prepare incanation + # Prepare incantation if [ -x "$git_dir/hooks/$1" ]; then hook_call="$hook_call"' || exit $?' else @@ -222,30 +222,38 @@ do_help() sep="|" done - echo "TopGit v0.2 - A different patch queue manager" + echo "TopGit v0.5 - A different patch queue manager" echo "Usage: tg [-r REMOTE] ($cmds|help) ..." - elif [ -r "@sharedir@/tg-$1.txt" ] ; then - cat "@sharedir@/tg-$1.txt" + elif [ -r "@cmddir@"/tg-$1 ] ; then + @cmddir@/tg-$1 -h || : + echo + if [ -r "@sharedir@/tg-$1.txt" ] ; then + cat "@sharedir@/tg-$1.txt" + fi else echo "`basename $0`: no help for $1" 1>&2 fi } +## Startup + +[ -d "@cmddir@" ] || + die "No command directory: '@cmddir@'" + ## Initial setup set -e git_dir="$(git rev-parse --git-dir)" root_dir="$(git rev-parse --show-cdup)"; root_dir="${root_dir:-.}" +# Make sure root_dir doesn't end with a trailing slash. +root_dir="${root_dir%/}" base_remote="$(git config topgit.remote 2>/dev/null)" || : tg="tg" # make sure merging the .top* files will always behave sanely setup_ours setup_hook "pre-commit" -[ -d "@cmddir@" ] || - die "No command directory: '@cmddir@'" - ## Dispatch # We were sourced from another script for our utility functions; @@ -264,7 +272,7 @@ shift case "$cmd" in help|--help|-h) do_help "$1" - exit 1;; + exit 0;; --hooks-path) # Internal command echo "@hooksdir@";;