"Han-Wen Nienhuys via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Han-Wen Nienhuys <hanwen@xxxxxxxxxx> > > The files backend produces a newline for messages automatically, so before we > would print blank lines between entries. It is misleading to say "The files backend produces" here. The promise the API makes to the callback functions is that msg will be a single complete line, regardless of what ref backend is used, no? Unless we plan to break the promise to the callback, forcing them to compensate the differences of behaviour between backends, by making the reftable backend behave differently. The callback for each-reflog-ent iterator functions receives a single complete line terminated with a newline at the end in the 'msg' parameter; by having a newline in the printf() format string, we have been emitting a blank line between entries. Fix it. or something, I think. > - printf("%s %s %s %"PRItime" %d %s\n", > - oid_to_hex(old_oid), oid_to_hex(new_oid), > - committer, timestamp, tz, msg); > + printf("%s %s %s %" PRItime " %d %s", oid_to_hex(old_oid), > + oid_to_hex(new_oid), committer, timestamp, tz, msg); > return 0; > } > > diff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh > index 49718b7ea7f..a600bedf2cd 100755 > --- a/t/t1405-main-ref-store.sh > +++ b/t/t1405-main-ref-store.sh > @@ -89,13 +89,12 @@ test_expect_success 'for_each_reflog()' ' > test_expect_success 'for_each_reflog_ent()' ' > $RUN for-each-reflog-ent HEAD >actual && > head -n1 actual | grep one && > - tail -n2 actual | head -n1 | grep recreate-main > + tail -n1 actual | grep recreate-main And I do agree this makes it much more pleasant than before (not just this one but all the changes to the tests). Thanks.