diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2022-02-03 16:39:26 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-03 16:39:26 -0500 |
commit | 4efd6563cab0caeeeb442b688523a7683cc20174 (patch) | |
tree | e2b5daa7e02bd8cf8344378c643d7f5180af2b52 | |
parent | 8d967d85806161fb8be739f4a80fc816a2b215e6 (diff) | |
parent | add2dabb3c16aa49b33904dcdc07cd915efc12fa (diff) | |
download | libgit2-4efd6563cab0caeeeb442b688523a7683cc20174.tar.gz |
Merge pull request #6196 from libgit2/ethomson/at_revparse
revparse: support bare '@'
-rw-r--r-- | src/revparse.c | 3 | ||||
-rw-r--r-- | tests/refs/revparse.c | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/revparse.c b/src/revparse.c index 5d3ff77ed..9bc28e9fc 100644 --- a/src/revparse.c +++ b/src/revparse.c @@ -799,6 +799,9 @@ static int revparse( if (temp_object != NULL) base_rev = temp_object; break; + } else if (spec[pos+1] == '\0') { + spec = "HEAD"; + break; } /* fall through */ diff --git a/tests/refs/revparse.c b/tests/refs/revparse.c index 5fb758504..0bd2ae5bc 100644 --- a/tests/refs/revparse.c +++ b/tests/refs/revparse.c @@ -881,3 +881,10 @@ void test_refs_revparse__uneven_sizes(void) test_object("a65fedf39aefe402d3bb6e24df4d", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750"); } + +void test_refs_revparse__parses_at_head(void) +{ + test_id("HEAD", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", NULL, GIT_REVSPEC_SINGLE); + test_id("@{0}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", NULL, GIT_REVSPEC_SINGLE); + test_id("@", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", NULL, GIT_REVSPEC_SINGLE); +} |