From: Petr Baudis <pasky@suse.cz>
To: "martin f. krafft" <madduck@debian.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] Allow help/--help/-h to be run outside of a TopGit repo
Date: Thu, 20 Nov 2008 15:27:03 +0100 [thread overview]
Message-ID: <20081120142702.GG10491@machine.or.cz> (raw)
In-Reply-To: <1227181594-15123-1-git-send-email-madduck@debian.org>
On Thu, Nov 20, 2008 at 12:46:34PM +0100, martin f. krafft wrote:
> The user ought to be able to call `tg help` from anywhere in the filesystem,
> not just Git repositories, so the help parsing has to happen before the calls
> to git git binary.
>
> Debian bug: #501982
>
> Signed-off-by: martin f. krafft <madduck@debian.org>
>
> ---
> tg.sh | 28 +++++++++++++++++++++++++---
> 1 files changed, 25 insertions(+), 3 deletions(-)
>
> diff --git a/tg.sh b/tg.sh
> index 4dcc15e..258f8ce 100644
> --- a/tg.sh
> +++ b/tg.sh
> @@ -235,12 +235,37 @@ do_help()
> fi
> }
>
> +# Check whether we are supposed to output the help message
> +should_do_help()
> +{
> + # we are being sourced for utility functions, never run help
> + [ -z "$tg__include" ] || return 1
> +
> + local prev
> + while [ -n "$1" ]; do
> + case "$1" in
> + help|--help|-h)
> + shift
> + echo "${1:-$prev}"
> + return 0
> + esac
> + prev="$1"
> + shift
> + done
> +
> + # run help when there was no previous topic, meaning that there where
> + # no arguments at all
> + test -z "$prev"
> +}
>
> ## Startup
>
> [ -d "@cmddir@" ] ||
> die "No command directory: '@cmddir@'"
>
> +# check if we should run help and get the topic while we're at it
> +help_topic="$(should_do_help "$@")" && { do_help "$help_topic"; exit 0; }
> +
Why is this so complicated? Can't you just do_help from
should_do_help()? The overall semantics seems strange anyway, though -
it seems that 'tg mail --help -r' will try to show help for '-r' instead
of 'mail'.
--
Petr "Pasky" Baudis
People who take cold baths never have rheumatism, but they have
cold baths.
next prev parent reply other threads:[~2008-11-20 14:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-20 11:46 [PATCH] Allow help/--help/-h to be run outside of a TopGit repo martin f. krafft
2008-11-20 14:27 ` Petr Baudis [this message]
2008-11-20 14:55 ` martin f krafft
2008-11-20 15:08 ` Petr Baudis
2008-11-20 15:11 ` martin f krafft
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081120142702.GG10491@machine.or.cz \
--to=pasky@suse.cz \
--cc=git@vger.kernel.org \
--cc=madduck@debian.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.