diff options
author | David Turner <dturner@twopensource.com> | 2015-07-22 00:04:55 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-07-22 00:08:35 +0300 |
commit | 144c76fa39254903cb1e8e2d6d159603077356a7 (patch) | |
tree | 14c41558ef0aa09cb1088a2cf78b9116dbe73c0c /t/t7004-tag.sh | |
parent | 0f2a71d9923b4cf010ad0801eb71ee3666798204 (diff) |
update-ref and tag: add --create-reflog arg
Allow the creation of a ref (e.g. stash) with a reflog already in
place. For most refs (e.g. those under refs/heads), this happens
automatically, but for others, we need this option.
Currently, git does this by pre-creating the reflog, but alternate ref
backends might store reflogs somewhere other than .git/logs. Code
that now directly manipulates .git/logs should instead use git
plumbing commands.
I also added --create-reflog to git tag, just for completeness.
In a moment, we will use this argument to make git stash work with
alternate ref backends.
Signed-off-by: David Turner <dturner@twopensource.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7004-tag.sh')
-rwxr-xr-x | t/t7004-tag.sh | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh index d1ff5c94f2..d31788cc6c 100755 --- a/t/t7004-tag.sh +++ b/t/t7004-tag.sh @@ -51,7 +51,19 @@ test_expect_success 'creating a tag using default HEAD should succeed' ' echo foo >foo && git add foo && git commit -m Foo && - git tag mytag + git tag mytag && + test_must_fail git reflog exists refs/tags/mytag +' + +test_expect_success 'creating a tag with --create-reflog should create reflog' ' + test_when_finished "git tag -d tag_with_reflog" && + git tag --create-reflog tag_with_reflog && + git reflog exists refs/tags/tag_with_reflog +' + +test_expect_success '--create-reflog does not create reflog on failure' ' + test_must_fail git tag --create-reflog mytag && + test_must_fail git reflog exists refs/tags/mytag ' test_expect_success 'listing all tags if one exists should succeed' ' |