# Re: [PATCH] git-rev-list --help anywhere

6 messages from 2006-02-19 to 2006-02-20. Participants: linux@horizon.com, Alex Riesen, Johannes Schindelin, A Large Angry SCM, Junio C Hamano.
Thread: https://gitlist.dev/t/3393

## linux@horizon.com, 2006-02-19 11:26

Subject: Re: [PATCH] git-rev-list --help anywhere
Message-ID: <20060219112627.18989.qmail@science.horizon.com>
URL: https://gitlist.dev/e/20060219112627.18989.qmail%40science.horizon.com

```
>+	for (i = 1 ; i < argc; i++)
>+	    if ( !strcmp(argv[i], "--help") )
>+		usage(rev_list_usage);

You might want to try something more like:

+	for (i = 1 ; i < argc; i++) {
+	    if ( !strcmp(argv[i], "--help") )
+		usage(rev_list_usage);
+	    if ( !strcmp(argv[i], "--") )
+		break;
+	}

So that you don't break in the perverse but legal case of
having a file named "--help".

```

## Alex Riesen, 2006-02-19 18:39

Subject: Re: [PATCH] git-rev-list --help anywhere
Message-ID: <20060219183930.GB10010@steel.home>
URL: https://gitlist.dev/e/20060219183930.GB10010%40steel.home
In-Reply-To: <20060219112627.18989.qmail@science.horizon.com>

```
linux@horizon.com, Sun, Feb 19, 2006 12:26:27 +0100:
> >+	for (i = 1 ; i < argc; i++)
> >+	    if ( !strcmp(argv[i], "--help") )
> >+		usage(rev_list_usage);
> 
> You might want to try something more like:
> 
> +	for (i = 1 ; i < argc; i++) {
> +	    if ( !strcmp(argv[i], "--help") )
> +		usage(rev_list_usage);
> +	    if ( !strcmp(argv[i], "--") )
> +		break;
> +	}
> 
> So that you don't break in the perverse but legal case of
> having a file named "--help".

Of course. Thanks!

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>

---

diff --git a/rev-list.c b/rev-list.c
index f2d1105..bcb492e 100644
--- a/rev-list.c
+++ b/rev-list.c
@@ -755,11 +755,20 @@ static void handle_all(struct commit_lis
 
 int main(int argc, const char **argv)
 {
-	const char *prefix = setup_git_directory();
+	const char *prefix;
 	struct commit_list *list = NULL;
 	int i, limited = 0;
 
 	for (i = 1 ; i < argc; i++) {
+	    if ( !strcmp(argv[i], "--help") )
+		usage(rev_list_usage);
+	    if ( !strcmp(argv[i], "--") )
+		break;
+	}
+
+	prefix = setup_git_directory();
+
+	for (i = 1 ; i < argc; i++) {
 		int flags;
 		const char *arg = argv[i];
 		char *dotdot;
--
1.2.2.gbc57

```

## Johannes Schindelin, 2006-02-19 19:25

Subject: Re: [PATCH] git-rev-list --help anywhere
Message-ID: <Pine.LNX.4.63.0602192023270.11855@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0602192023270.11855%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <20060219183930.GB10010@steel.home>

```
Hi,

can someone please enlighten me why you need to see the usage, when you 
cannot execute the command anyway?

Puzzled,
Dscho

```

## linux@horizon.com, 2006-02-19 19:39

Subject: Re: [PATCH] git-rev-list --help anywhere
Message-ID: <20060219193940.7493.qmail@science.horizon.com>
URL: https://gitlist.dev/e/20060219193940.7493.qmail%40science.horizon.com
In-Reply-To: <Pine.LNX.4.63.0602192023270.11855@wbgn013.biozentrum.uni-wuerzburg.de>

```
> can someone please enlighten me why you need to see the usage, when you 
> cannot execute the command anyway?

Because you're writing a script, or explaining it to someone over
the phone, or writing shell autocompletion macros, otherwise using
it in some kind of delayed or deferred way.

These ain't no steenkin GUI tools; they can be used in more ways
that typed interactively for immediate execution.

(Have you ever noticed how all the GUI people have rediscovered the
concept of a pathname and a single-character directory separator when
explaining how to navigate a menu/dialog maze?  The character '>' seems
to be popular.
	Go to menu A
	Then go to submenu B
	Then select item C to open a dialog
	Then go to tab D of that dialog.
	Then hit the "Advanced options" button
	Then select tab E of that dialog
	Then select option F
How exactly is this is an improvement over A/B/C/D/Advanced options/E/F?)

```

## A Large Angry SCM, 2006-02-19 19:40

Subject: Re: [PATCH] git-rev-list --help anywhere
Message-ID: <43F8C99E.7080703@gmail.com>
URL: https://gitlist.dev/e/43F8C99E.7080703%40gmail.com
In-Reply-To: <Pine.LNX.4.63.0602192023270.11855@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin wrote:
> Hi,
> 
> can someone please enlighten me why you need to see the usage, when you 
> cannot execute the command anyway?
> 
> Puzzled,
> Dscho

How about so that you can find the options needed to run the command in 
another window where it will work.

```

## Junio C Hamano, 2006-02-20 05:52

Subject: Re: [PATCH] git-rev-list --help anywhere
Message-ID: <7vu0auefw8.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vu0auefw8.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <Pine.LNX.4.63.0602192023270.11855@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> can someone please enlighten me why you need to see the usage, when you 
> cannot execute the command anyway?

I think Pasky gave rev-list just as an example, as I am sure
there are other lowlevel core tools, that share this same
unfriendliness.  Primarily, these tools are meant for scripting,
and not for end-user interactive use.  For this reason, it is
not high on my priority list to add --help to the lowlevel core
tools, although it would be nicer to have.

```
