summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-10-02 07:20:45 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-10-02 07:20:45 (GMT)
commit0842acff57f386ba749c3ea6b5e034771f074f6b (patch)
tree8fe4cc9882280a28f44d3302791cd76c8177d0d5
parent18c5a52537173b12bd78ce25c6dd524d147e87a7 (diff)
downloadgit-0842acff57f386ba749c3ea6b5e034771f074f6b.zip
git-0842acff57f386ba749c3ea6b5e034771f074f6b.tar.gz
git-0842acff57f386ba749c3ea6b5e034771f074f6b.tar.bz2
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 79cafd7..4d721f2 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 178d0f0..dc383ed 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