summaryrefslogtreecommitdiff
path: root/refs
diff options
context:
space:
mode:
authorHan-Wen Nienhuys <hanwen@google.com>2020-07-31 11:36:10 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-07-31 17:21:51 (GMT)
commit25429fed5ce134bce9f729d927ac397badae1959 (patch)
tree182662725dcae632c49e99c4c1725771f8bba41f /refs
parent523fa69c36744ae6779e38614cb9bfb2be552923 (diff)
downloadgit-25429fed5ce134bce9f729d927ac397badae1959.zip
git-25429fed5ce134bce9f729d927ac397badae1959.tar.gz
git-25429fed5ce134bce9f729d927ac397badae1959.tar.bz2
refs: move the logic to add \t to reflog to the files backend
523fa69c (reflog: cleanse messages in the refs.c layer, 2020-07-10) centralized reflog normalizaton. However, the normalizaton added a leading "\t" to the message. This is an artifact of the reflog storage format in the files backend, so it should be added there. Routines that parse back the reflog (such as grab_nth_branch_switch) expect the "\t" to not be in the message, so without this fix, git with reftable cannot process the "@{-1}" syntax. Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs')
-rw-r--r--refs/files-backend.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/refs/files-backend.c b/refs/files-backend.c
index e0aba23..985631f 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -1628,8 +1628,10 @@ static int log_ref_write_fd(int fd, const struct object_id *old_oid,
int ret = 0;
strbuf_addf(&sb, "%s %s %s", oid_to_hex(old_oid), oid_to_hex(new_oid), committer);
- if (msg && *msg)
+ if (msg && *msg) {
+ strbuf_addch(&sb, '\t');
strbuf_addstr(&sb, msg);
+ }
strbuf_addch(&sb, '\n');
if (write_in_full(fd, sb.buf, sb.len) < 0)
ret = -1;