update-ref: pass reflog message to delete_ref()

Now that delete_ref() accepts a reflog message, pass the user-provided
message to delete_ref() rather than silently dropping it.

Signed-off-by: Kyle Meyer <kyle@kyleam.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Kyle Meyer 2017-02-20 20:10:33 -05:00 committed by Junio C Hamano
parent 755b49ae96
commit de922669ab
2 changed files with 19 additions and 1 deletions

View file

@ -433,7 +433,7 @@ int cmd_update_ref(int argc, const char **argv, const char *prefix)
* For purposes of backwards compatibility, we treat
* NULL_SHA1 as "don't care" here:
*/
return delete_ref(NULL, refname,
return delete_ref(msg, refname,
(oldval && !is_null_sha1(oldsha1)) ? oldsha1 : NULL,
flags);
else

View file

@ -85,6 +85,24 @@ test_expect_success "delete $m (by HEAD)" '
'
rm -f .git/$m
test_expect_success "deleting current branch adds message to HEAD's log" '
git update-ref $m $A &&
git symbolic-ref HEAD $m &&
git update-ref -m delete-$m -d $m &&
! test -f .git/$m &&
grep "delete-$m$" .git/logs/HEAD
'
rm -f .git/$m
test_expect_success "deleting by HEAD adds message to HEAD's log" '
git update-ref $m $A &&
git symbolic-ref HEAD $m &&
git update-ref -m delete-by-head -d HEAD &&
! test -f .git/$m &&
grep "delete-by-head$" .git/logs/HEAD
'
rm -f .git/$m
test_expect_success 'update-ref does not create reflogs by default' '
test_when_finished "git update-ref -d $outside" &&
git update-ref $outside $A &&