From 0842acff57f386ba749c3ea6b5e034771f074f6b Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sun, 2 Oct 2005 00:20:45 -0700 Subject: [PATCH] Customize git command for installations that lack certain commands. When the platform lacks certain git subcommands, omit them from the list of subcommands that are available from "git" wrapper. Noticed by Geert Bosch. Signed-off-by: Junio C Hamano --- Makefile | 7 ++++++- git.sh | 55 ++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 50 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 79cafd717..4d721f2ac 100644 --- a/Makefile +++ b/Makefile @@ -122,6 +122,8 @@ PROGRAMS = \ # Backward compatibility -- to be removed after 1.0 PROGRAMS += git-ssh-pull git-ssh-push +GIT_LIST_TWEAK = + PYMODULES = \ gitMergeCommon.py @@ -131,6 +133,8 @@ endif ifdef WITH_SEND_EMAIL SCRIPT_PERL += git-send-email.perl +else + GIT_LIST_TWEAK += -e '/^send-email$$/d' endif LIB_FILE=libgit.a @@ -282,7 +286,8 @@ all: git: git.sh Makefile rm -f $@+ $@ sed -e '1s|#!.*/sh|#!$(SHELL_PATH)|' \ - -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' <$@.sh >$@+ + -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \ + $(GIT_LIST_TWEAK) <$@.sh >$@+ chmod +x $@+ mv $@+ $@ diff --git a/git.sh b/git.sh index 178d0f0c0..dc383edde 100755 --- a/git.sh +++ b/git.sh @@ -16,17 +16,50 @@ esac echo "Usage: git COMMAND [OPTIONS] [TARGET]" if [ -n "$cmd" ]; then - echo " git command '$cmd' not found: commands are:" -else - echo " git commands are:" + echo "git command '$cmd' not found." fi +echo "git commands are:" -cat <<\EOF - add apply archimport bisect branch checkout cherry clone - commit count-objects cvsimport diff fetch format-patch - fsck-cache get-tar-commit-id init-db log ls-remote octopus - pack-objects parse-remote patch-id prune pull push rebase - relink rename repack request-pull reset resolve revert - send-email shortlog show-branch status tag verify-tag - whatchanged +fmt <<\EOF | sed -e 's/^/ /' +add +apply +archimport +bisect +branch +checkout +cherry +clone +commit +count-objects +cvsimport +diff +fetch +format-patch +fsck-objects +get-tar-commit-id +init-db +log +ls-remote +octopus +pack-objects +parse-remote +patch-id +prune +pull +push +rebase +relink +rename +repack +request-pull +reset +resolve +revert +send-email +shortlog +show-branch +status +tag +verify-tag +whatchanged EOF -- 2.26.2