From 46c2ead05d289b4ed1ad96c63b75a228f02dd74c Mon Sep 17 00:00:00 2001 From: Ben Straub Date: Thu, 10 May 2012 13:39:34 -0700 Subject: [PATCH] Now properly handling branches with "-g" in their names. --- src/revparse.c | 6 +++--- tests-clar/refs/revparse.c | 1 + tests/resources/testrepo.git/refs/heads/not-good | Bin 0 -> 41 bytes 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 tests/resources/testrepo.git/refs/heads/not-good diff --git a/src/revparse.c b/src/revparse.c index 4c03fdf38..c22bd98d8 100644 --- a/src/revparse.c +++ b/src/revparse.c @@ -56,9 +56,9 @@ static int revparse_lookup_object(git_object **out, git_repository *repo, const /* "git describe" output; snip everything before/including "-g" */ substr = strstr(spec, "-g"); - if (substr) { - spec = substr + 2; - speclen = strlen(spec); + if (substr && + !revparse_lookup_object(out, repo, substr+2)) { + return 0; } /* SHA or prefix */ diff --git a/tests-clar/refs/revparse.c b/tests-clar/refs/revparse.c index d7affafe9..4c9eeb4c3 100644 --- a/tests-clar/refs/revparse.c +++ b/tests-clar/refs/revparse.c @@ -66,6 +66,7 @@ void test_refs_revparse__partial_refs(void) void test_refs_revparse__describe_output(void) { test_object("blah-7-gc47800c", "c47800c7266a2be04c571c04d5a6614691ea99bd"); + test_object("not-good", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750"); } void test_refs_revparse__nth_parent(void) diff --git a/tests/resources/testrepo.git/refs/heads/not-good b/tests/resources/testrepo.git/refs/heads/not-good new file mode 100644 index 0000000000000000000000000000000000000000..3d8f0a402b492c248b12ac72b6a66eebe941023f GIT binary patch literal 41 vcmYc^GfhiPNi()gOifEQF)&IoPD(OMH8M#_Gf6Q?1In40nwXoL8gKys2{Q}F literal 0 HcmV?d00001