threads / discuss / 1835

Fix "git-rev-list" revision range parsing

Subject: Fix "git-rev-list" revision range parsing

## tl;dr

One message between Sep 17, 2005 and Sep 17, 2005.

replies: 0people: 1as markdown or json

Linus Torvalds· Sep 17, 2005, 00:53 UTC · lore
There were two bugs in there:
 - if the range didn't end up working, we restored the '.' character in 
   the wrong place.
 - an empty end-of-range should be interpreted as HEAD.
See rev-parse.c for the reference implementation of this.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
---
diff --git a/rev-list.c b/rev-list.c
--- a/rev-list.c
+++ b/rev-list.c
@@ -561,6 +561,8 @@ int main(int argc, char **argv)
 			struct commit *exclude = NULL;
 			struct commit *include = NULL;
 			*dotdot = 0;
+			if (!*next)
+				next = "HEAD";
 			exclude = get_commit_reference(arg, UNINTERESTING);
 			include = get_commit_reference(next, 0);
 			if (exclude && include) {
@@ -569,7 +571,7 @@ int main(int argc, char **argv)
 				handle_one_commit(include, &list);
 				continue;
 			}
-			*next = '.';
+			*dotdot = '.';
 		}
 		if (*arg == '^') {
 			flags = UNINTERESTING;

← back to recent threads