[PATCH]: Add git help command. A good patch this time, I hope
- From
- Yaacov Akiba Slama <ya@slamail.org>
- Date
- Nov 6, 2005, 10:39 UTC
- Message-ID
- <11312735573649-git-send-email-ya@slamail.org>
- In-Reply-To
- <436D276F.7010302@slamail.org>
git help COMMAND will call "man COMMAND" if there is a manpage. If there is no manpage for the command, a simple help will be shown.
Signed-off-by: Yaacov Akiba Slama <yaslama@laptop2.localdomain>
---
.gitignore | 1 + Makefile | 2 +- git-help.sh | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ git.sh | 49 +--------------------------------------- 4 files changed, 76 insertions(+), 49 deletions(-) create mode 100755 git-help.sh
applies-to: 5af1b5b93257ecfe993bb24975bf596faa342758 e45c839c235cfd3d60cf611f420742bebdd0fe20
diff --git a/.gitignore b/.gitignore index 3edf6b4..a412a09 100644 --- a/.gitignore +++ b/.gitignore @@ -34,6 +34,7 @@ git-format-patch git-fsck-objects git-get-tar-commit-id git-grep +git-help git-hash-object git-http-fetch git-index-pack diff --git a/Makefile b/Makefile index 6c01dc2..fc42049 100644 --- a/Makefile +++ b/Makefile @@ -81,7 +81,7 @@ SCRIPT_SH = \ git-add.sh git-bisect.sh git-branch.sh git-checkout.sh \ git-cherry.sh git-clone.sh git-commit.sh \ git-count-objects.sh git-diff.sh git-fetch.sh \ - git-format-patch.sh git-log.sh git-ls-remote.sh \ + git-format-patch.sh git-help.sh git-log.sh git-ls-remote.sh \ git-merge-one-file.sh git-octopus.sh git-parse-remote.sh \ git-prune.sh git-pull.sh git-push.sh git-rebase.sh \ git-repack.sh git-request-pull.sh git-reset.sh \ diff --git a/git-help.sh b/git-help.sh new file mode 100755 index 0000000..a415f0c --- /dev/null +++ b/git-help.sh @@ -0,0 +1,73 @@ +#!/bin/sh + +cmd= +path=$(dirname "$0") +case "$#" in +0) ;; +*) cmd="$1" + shift + + man -w -W git-$cmd &> /dev/null && man git-$cmd && exit 0 +esac + +case "$cmd" in + help) + cmd="" + ;; +esac + +if [ -n "$cmd" ]; then + echo "git command '$cmd' not found." + echo +fi + +echo "Usage: git COMMAND [OPTIONS] [TARGET]" +echo "Type 'git help COMMAND' for help on a specific command." +echo + +echo "git commands are:" + +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 +help +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 diff --git a/git.sh b/git.sh index 94940ae..995df00 100755 --- a/git.sh +++ b/git.sh @@ -25,52 +25,5 @@ case "$#" in ;; esac -echo "Usage: git COMMAND [OPTIONS] [TARGET]" -if [ -n "$cmd" ]; then - echo "git command '$cmd' not found." -fi -echo "git commands are:" +exec "$path/git-help" "$cmd" -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 --- 0.99.9.GIT