Merge branch 'km/delete-ref-reflog-message'
authorJunio C Hamano <gitster@pobox.com>
Mon, 27 Feb 2017 21:57:18 +0000 (13:57 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 27 Feb 2017 21:57:18 +0000 (13:57 -0800)
"git update-ref -d" and other operations to delete references did
not leave any entry in HEAD's reflog when the reference being
deleted was the current branch. This is not a problem in practice
because you do not want to delete the branch you are currently on,
but caused renaming of the current branch to something else not to
be logged in a useful way.

* km/delete-ref-reflog-message:
branch: record creation of renamed branch in HEAD's log
rename_ref: replace empty message in HEAD's log
update-ref: pass reflog message to delete_ref()
delete_ref: accept a reflog message argument

1  2 
builtin/branch.c
builtin/tag.c
refs.c
refs/files-backend.c
t/t1400-update-ref.sh
transport.c
Simple merge
diff --cc builtin/tag.c
Simple merge
diff --cc refs.c
Simple merge
index db3bd42a91d1935471a93e3149165705ec55f8ec,42b137bb1c274c353b7206ae8652648bc6dc9b45..b42df147c9c4335b0e47201f751e7e05204e4b01
@@@ -2610,8 -2630,8 +2610,8 @@@ static int files_rename_ref(struct ref_
         */
        if (!read_ref_full(newrefname, RESOLVE_REF_READING | RESOLVE_REF_NO_RECURSE,
                           sha1, NULL) &&
-           delete_ref(newrefname, NULL, REF_NODEREF)) {
+           delete_ref(NULL, newrefname, NULL, REF_NODEREF)) {
 -              if (errno==EISDIR) {
 +              if (errno == EISDIR) {
                        struct strbuf path = STRBUF_INIT;
                        int result;
  
Simple merge
diff --cc transport.c
Simple merge