threads / patch / 13268

patchrev-parse: fix --verify to error out when passed junk after a good rev

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

## tl;dr

2 messages between Apr 26, 2008 and Apr 27, 2008. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Christian Couder· Apr 26, 2008, 13:19 UTC · lore
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.  
Show changes to builtin-rev-parse.c +2 −2
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· Apr 27, 2008, 06:21 UTC · re: Christian Couder · lore

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

Christian Couder <chriscool@tuxfamily.org> writes:
Show 20 quoted lines
> 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.

← back to recent threads