diff --git a/git-add.sh b/git-add.sh index fdec86d1a4..f719b4b1a8 100755 --- a/git-add.sh +++ b/git-add.sh @@ -1,13 +1,8 @@ #!/bin/sh -die () { - echo >&2 "$*" - exit 1 -} - -usage() { - die "usage: git add [-n] [-v] ..." -} +USAGE='[-n] [-v] ...' +SUBDIRECTORY_OK='Yes' +. git-sh-setup show_only= verbose= @@ -29,8 +24,6 @@ while : ; do shift done -GIT_DIR=$(git-rev-parse --git-dir) || exit - if test -f "$GIT_DIR/info/exclude" then git-ls-files -z \ diff --git a/git-am.sh b/git-am.sh index 6ed527c7a9..39f255209e 100755 --- a/git-am.sh +++ b/git-am.sh @@ -1,14 +1,10 @@ #!/bin/sh # # -. git-sh-setup -usage () { - echo >&2 "usage: $0 [--signoff] [--dotest=] [--utf8] [--binary] [--3way] " - echo >&2 " or, when resuming" - echo >&2 " $0 [--skip | --resolved]" - exit 1; -} +USAGE='[--signoff] [--dotest=] [--utf8] [--binary] [--3way] + or, when resuming [--skip | --resolved]' +. git-sh-setup stop_here () { echo "$1" >"$dotest/next" diff --git a/git-applymbox.sh b/git-applymbox.sh index c686cc8d27..61c8c024c6 100755 --- a/git-applymbox.sh +++ b/git-applymbox.sh @@ -18,13 +18,9 @@ ## ## git-am is supposed to be the newer and better tool for this job. +USAGE='[-u] [-k] [-q] [-m] (-c .dotest/ | mbox) [signoff]' . git-sh-setup -usage () { - echo >&2 "applymbox [-u] [-k] [-q] [-m] (-c .dotest/ | mbox) [signoff]" - exit 1 -} - keep_subject= query_apply= continue= utf8= resume=t while case "$#" in 0) break ;; esac do diff --git a/git-applypatch.sh b/git-applypatch.sh index a112e1a504..e8ba34a0ad 100755 --- a/git-applypatch.sh +++ b/git-applypatch.sh @@ -10,8 +10,12 @@ ## $3 - "info" file with Author, email and subject ## $4 - optional file containing signoff to add ## + +USAGE=' []' . git-sh-setup +case "$#" in 3|4) usage ;; esac + final=.dotest/final-commit ## ## If this file exists, we ask before applying diff --git a/git-bisect.sh b/git-bisect.sh index 05dae8ad13..51e1e4417d 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -1,4 +1,15 @@ #!/bin/sh + +USAGE='[start|bad|good|next|reset|visualize]' +LONG_USAGE='git bisect start [] reset bisect state and start bisection. +git bisect bad [] mark a known-bad revision. +git bisect good [...] mark ... known-good revisions. +git bisect next find next bisection to test and check it out. +git bisect reset [] finish bisection search and go back to branch. +git bisect visualize show bisect status in gitk. +git bisect replay replay bisection log +git bisect log show bisect log.' + . git-sh-setup sq() { @@ -11,19 +22,6 @@ sq() { ' "$@" } -usage() { - echo >&2 'usage: git bisect [start|bad|good|next|reset|visualize] -git bisect start [] reset bisect state and start bisection. -git bisect bad [] mark a known-bad revision. -git bisect good [...] mark ... known-good revisions. -git bisect next find next bisection to test and check it out. -git bisect reset [] finish bisection search and go back to branch. -git bisect visualize show bisect status in gitk. -git bisect replay replay bisection log -git bisect log show bisect log.' - exit 1 -} - bisect_autostart() { test -d "$GIT_DIR/refs/bisect" || { echo >&2 'You need to start by "git bisect start"' diff --git a/git-branch.sh b/git-branch.sh index 5306b2719f..0266f46223 100755 --- a/git-branch.sh +++ b/git-branch.sh @@ -1,21 +1,12 @@ #!/bin/sh -GIT_DIR=`git-rev-parse --git-dir` || exit $? - -die () { - echo >&2 "$*" - exit 1 -} - -usage () { - echo >&2 "usage: $(basename $0)"' [-d ] | [[-f] [start-point]] - -If no arguments, show available branches and mark current branch with a star. +USAGE='[-d ] | [[-f] [start-point]]' +LONG_USAGE='If no arguments, show available branches and mark current branch with a star. If one argument, create a new branch based off of current HEAD. -If two arguments, create a new branch based off of . -' - exit 1 -} +If two arguments, create a new branch based off of .' + +SUBDIRECTORY_OK='Yes' +. git-sh-setup headref=$(git-symbolic-ref HEAD | sed -e 's|^refs/heads/||') diff --git a/git-checkout.sh b/git-checkout.sh index 4cf30e2c05..f241d4ba6b 100755 --- a/git-checkout.sh +++ b/git-checkout.sh @@ -1,9 +1,7 @@ #!/bin/sh -. git-sh-setup -usage () { - die "usage: git checkout [-f] [-b ] [] [...]" -} +USAGE='[-f] [-b ] [] [...]' +. git-sh-setup old=$(git-rev-parse HEAD) new= diff --git a/git-cherry.sh b/git-cherry.sh index 867522b37f..5e9bd0caf2 100755 --- a/git-cherry.sh +++ b/git-cherry.sh @@ -3,11 +3,8 @@ # Copyright (c) 2005 Junio C Hamano. # -. git-sh-setup - -usage="usage: $0 "'[-v] [] - - __*__*__*__*__> +USAGE='[-v] []' +LONG_USAGE=' __*__*__*__*__> / fork-point \__+__+__+__+__+__+__+__> @@ -16,8 +13,8 @@ Each commit between the fork-point and is examined, and compared against the change each commit between the fork-point and introduces. If the change seems to be in the upstream, it is shown on the standard output with prefix "+". Otherwise -it is shown with prefix "-". -' +it is shown with prefix "-".' +. git-sh-setup case "$1" in -v) verbose=t; shift ;; esac @@ -35,7 +32,7 @@ case "$#" in 2) upstream=`git-rev-parse --verify "$1"` && ours=`git-rev-parse --verify "$2"` || exit ;; -*) echo >&2 "$usage"; exit 1 ;; +*) usage ;; esac # Note that these list commits in reverse order; diff --git a/git-clone.sh b/git-clone.sh index e49028f684..280cc2e81e 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -9,7 +9,7 @@ unset CDPATH usage() { - echo >&2 "* git clone [-l [-s]] [-q] [-u ] [-n] []" + echo >&2 "Usage: $0 [-l [-s]] [-q] [-u ] [-n] []" exit 1 } diff --git a/git-commit.sh b/git-commit.sh index 3d250ec853..7e39c107cf 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -3,12 +3,9 @@ # Copyright (c) 2005 Linus Torvalds # +USAGE='[-a] [-s] [-v | --no-verify] [-m | -F | (-C|-c) ] [-e] [...]' . git-sh-setup -usage () { - die 'git commit [-a] [-s] [-v | --no-verify] [-m | -F | (-C|-c) ] [-e] [...]' -} - all= logfile= use_commit= no_edit= log_given= log_message= verify=t signoff= while case "$#" in 0) break;; esac do diff --git a/git-fetch.sh b/git-fetch.sh index 14ea295113..767ca61ca6 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -1,5 +1,7 @@ #!/bin/sh # + +USAGE=' ...' . git-sh-setup . git-parse-remote _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]' @@ -34,6 +36,9 @@ do -v|--verbose) verbose=Yes ;; + -*) + usage + ;; *) break ;; diff --git a/git-format-patch.sh b/git-format-patch.sh index 921feee59c..01508e3b04 100755 --- a/git-format-patch.sh +++ b/git-format-patch.sh @@ -3,19 +3,8 @@ # Copyright (c) 2005 Junio C Hamano # -. git-sh-setup - -# Force diff to run in C locale. -LANG=C LC_ALL=C -export LANG LC_ALL - -usage () { - echo >&2 "usage: $0"' [-n] [-o dir | --stdout] [--keep-subject] [--mbox] - [--check] [--signoff] [-...] - [--help] - ( from..to ... | upstream [ our-head ] ) - -Prepare each commit with its patch since our-head forked from upstream, +USAGE='[-n | -k] [-o | --stdout] [--signoff] [--check] [--mbox] [--diff-options] []' +LONG_USAGE='Prepare each commit with its patch since our-head forked from upstream, one file per patch, for e-mail submission. Each output file is numbered sequentially from 1, and uses the first line of the commit message (massaged for pathname safety) as the filename. @@ -28,10 +17,12 @@ as "[PATCH N/M] Subject", unless you have only one patch. When --mbox is specified, the output is formatted to resemble UNIX mailbox format, and can be concatenated together for processing -with applymbox. -' - exit 1 -} +with applymbox.' +. git-sh-setup + +# Force diff to run in C locale. +LANG=C LC_ALL=C +export LANG LC_ALL diff_opts= LF=' diff --git a/git-grep.sh b/git-grep.sh index 44c16130bd..2ed8e955d6 100755 --- a/git-grep.sh +++ b/git-grep.sh @@ -3,6 +3,10 @@ # Copyright (c) Linus Torvalds, 2005 # +USAGE='