# [PATCH] rev-parse: fix --verify to error out when passed junk after a good rev

2 messages from 2008-04-26 to 2008-04-27. Participants: Christian Couder, Junio C Hamano.
Thread: https://gitlist.dev/t/13268

## Christian Couder, 2008-04-26 13:19

Subject: [PATCH] rev-parse: fix --verify to error out when passed junk after a good rev
Message-ID: <20080426151929.819ced3e.chriscool@tuxfamily.org>
URL: https://gitlist.dev/e/20080426151929.819ced3e.chriscool%40tuxfamily.org

```
Before this patch something like:

$ git rev-parse --verify <good-rev> <junk>

worked whatever junk was as long as <good-rev> could be parsed
correctly.

This patch makes "git rev-parse --verify" error out when passed
any junk after a good rev.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 builtin-rev-parse.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

	With this patch something like:

	$ git rev-parse --verify <good1> <good2>

	will still fail.

	For example:

	$ git rev-parse --verify v1.5.5 v1.4.0
	9d831805195ba40b62f632acc6bb6e53d3ec9ee1
	120530fb2e10679d9095e278c95c0e98c96f3080
	fatal: Needed a single revision

	but it failed like that before.

	I don't know if I should make it work.  

diff --git a/builtin-rev-parse.c b/builtin-rev-parse.c
index 9384a99..0e59707 100644
--- a/builtin-rev-parse.c
+++ b/builtin-rev-parse.c
@@ -576,11 +576,11 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
 			show_rev(REVERSED, sha1, arg+1);
 			continue;
 		}
+		if (verify)
+			die_no_single_rev(quiet);
 		as_is = 1;
 		if (!show_file(arg))
 			continue;
-		if (verify)
-			die_no_single_rev(quiet);
 		verify_filename(prefix, arg);
 	}
 	show_default();
-- 
1.5.5.1.164.g3d51ee.dirty

```

## Junio C Hamano, 2008-04-27 06:21

Subject: Re: [PATCH] rev-parse: fix --verify to error out when passed junk after a good rev
Message-ID: <7v63u3izrt.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v63u3izrt.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <20080426151929.819ced3e.chriscool@tuxfamily.org>

```
Christian Couder <chriscool@tuxfamily.org> writes:

> Before this patch something like:
>
> $ git rev-parse --verify <good-rev> <junk>
>
> worked whatever junk was as long as <good-rev> could be parsed
> correctly.
>
> This patch makes "git rev-parse --verify" error out when passed
> any junk after a good rev.
>
> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
> ---
>  builtin-rev-parse.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> 	With this patch something like:
>
> 	$ git rev-parse --verify <good1> <good2>
>
> 	will still fail.

I think this should fail.

I've long thought that ideally giving anything but a single good rev to
"rev-parse --verify" should fail before spitting anything out.  This, like
other reponses to errorneous inputs, were what we considered of lower
priority in early days of git (think "before the end of 2005"), because we
had many other "better and more urgent" things to worry about.  I think we
have long passed that stage.

```
