aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-10-02 00:20:45 -0700
committerJunio C Hamano <junkio@cox.net>2005-10-02 00:20:45 -0700
commit0842acff57f386ba749c3ea6b5e034771f074f6b (patch)
tree8fe4cc9882280a28f44d3302791cd76c8177d0d5
parent18c5a52537173b12bd78ce25c6dd524d147e87a7 (diff)
downloadgit-0842acff57f386ba749c3ea6b5e034771f074f6b.tar.gz
git-0842acff57f386ba749c3ea6b5e034771f074f6b.tar.xz
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 <junkio@cox.net>
-rw-r--r--Makefile7
-rwxr-xr-xgit.sh55
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