Skip to content

Commit 25429fe

Browse files
hanwengitster
authored andcommitted
refs: move the logic to add \t to reflog to the files backend
523fa69 (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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 523fa69 commit 25429fe

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

refs.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -875,7 +875,6 @@ static void copy_reflog_msg(struct strbuf *sb, const char *msg)
875875
char c;
876876
int wasspace = 1;
877877

878-
strbuf_addch(sb, '\t');
879878
while ((c = *msg++)) {
880879
if (wasspace && isspace(c))
881880
continue;

refs/files-backend.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1628,8 +1628,10 @@ static int log_ref_write_fd(int fd, const struct object_id *old_oid,
16281628
int ret = 0;
16291629

16301630
strbuf_addf(&sb, "%s %s %s", oid_to_hex(old_oid), oid_to_hex(new_oid), committer);
1631-
if (msg && *msg)
1631+
if (msg && *msg) {
1632+
strbuf_addch(&sb, '\t');
16321633
strbuf_addstr(&sb, msg);
1634+
}
16331635
strbuf_addch(&sb, '\n');
16341636
if (write_in_full(fd, sb.buf, sb.len) < 0)
16351637
ret = -1;

0 commit comments

Comments
 (0)