Inspect reflog data programmatically in more tests
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest5 patches 0 repliesNew
- v25 patches 14 repliesSuperseded
- v14 patches 29 repliesSuperseded
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | show-branch: show reflog messagebuiltin/ t/ | +22 | 0 replies | |
| 2/5 | test-ref-store: don't add newline to reflog messaget/ t/ t/ | +6 | 0 replies | |
| 3/5 | t1405: check for_each_reflog_ent_reverse() more thoroughlyt/ | +1 | 0 replies | |
| 4/5 | test-ref-store: tweaks to for-each-reflog-ent formatt/ t/ | +11 | 0 replies | |
| 5/5 | refs/debug: trim trailing LF from reflog messagerefs/ | +5 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [PATCH v3 0/5] Inspect reflog data programmatically in more tests
This helps for reftable support, and will help if we want to reconsider under which conditions reflogs get created/updated.
v3: pointer arithmetic for trimming newline.
Han-Wen Nienhuys (5):
show-branch: show reflog message
test-ref-store: don't add newline to reflog message
t1405: check for_each_reflog_ent_reverse() more thoroughly
test-ref-store: tweaks to for-each-reflog-ent format refs/debug: trim trailing LF from reflog message
builtin/show-branch.c | 12 +++++++----- refs/debug.c | 7 +++++-- t/helper/test-ref-store.c | 6 +++--- t/t1400-update-ref.sh | 13 ++++++++----- t/t1405-main-ref-store.sh | 4 ++-- t/t1406-submodule-ref-store.sh | 4 ++-- t/t3202-show-branch.sh | 15 +++++++++++++++ 7 files changed, 42 insertions(+), 19 deletions(-)
base-commit: abe6bb3905392d5eb6b01fa6e54d7e784e0522aa
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1145%2Fhanwen%2Freflog-prelims-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1145/hanwen/reflog-prelims-v3
Pull-Request: https://github.com/git/git/pull/1145
Range-diff vs v2:
1: 9d8394d8c76 = 1: 6e94a6fbe05 show-branch: show reflog message 2: 4a86d212589 ! 2: 062481ffece test-ref-store: don't add newline to reflog message
@@ Metadata
## Commit message ##
test-ref-store: don't add newline to reflog message
- The files backend produces a newline for messages automatically, so before we
- would print blank lines between entries.
+ By convention, reflog messages always end in '\n', so
+ before we would print blank lines between entries.
3: 0319503045b = 3: 46a8e13a5e6 t1405: check for_each_reflog_ent_reverse() more thoroughly
4: 62f5cb8a824 ! 4: 40ba92dbf0d test-ref-store: tweaks to for-each-reflog-ent format
@@ t/t1400-update-ref.sh: $A $B $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 11171502
- test_when_finished "rm -rf .git/$m .git/logs expect" &&
- test_cmp expect .git/logs/$m
+ test_when_finished "git update-ref -d $m && rm -rf .git/logs actual expect" &&
-+ test-tool ref-store main for-each-reflog-ent $m > actual &&
++ test-tool ref-store main for-each-reflog-ent $m >actual &&
+ test_cmp actual expect
'
@@ t/t1400-update-ref.sh: $A $B $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 11171503
- test_when_finished "rm -f .git/$m .git/logs/$m expect" &&
- test_cmp expect .git/logs/$m
+ test_when_finished "git update-ref -d $m && rm -rf .git/logs actual expect" &&
-+ test-tool ref-store main for-each-reflog-ent $m > actual &&
++ test-tool ref-store main for-each-reflog-ent $m >actual &&
+ test_cmp actual expect
' 5: 0288e743eb2 ! 5: 751f713a025 refs/debug: trim trailing LF from reflog message
@@ refs/debug.c: static int debug_print_reflog_ent(struct object_id *old_oid,
int ret;
char o[GIT_MAX_HEXSZ + 1] = "null";
char n[GIT_MAX_HEXSZ + 1] = "null";
-+ struct strbuf trimmed = STRBUF_INIT;
++ char *msgend = strchrnul(msg, '\n');
if (old_oid)
oid_to_hex_r(o, old_oid);
if (new_oid)
- oid_to_hex_r(n, new_oid);
+@@ refs/debug.c: static int debug_print_reflog_ent(struct object_id *old_oid,
-+ strbuf_addstr(&trimmed, msg);
ret = dbg->fn(old_oid, new_oid, committer, timestamp, tz, msg,
dbg->cb_data);
- trace_printf_key(&trace_refs, "reflog_ent %s (ret %d): %s -> %s, %s %ld \"%s\"\n",
- dbg->refname, ret, o, n, committer, (long int)timestamp, msg);
-+ strbuf_trim_trailing_newline(&trimmed);
+ trace_printf_key(&trace_refs,
-+ "reflog_ent %s (ret %d): %s -> %s, %s %ld \"%s\"\n",
++ "reflog_ent %s (ret %d): %s -> %s, %s %ld \"%.*s\"\n",
+ dbg->refname, ret, o, n, committer,
-+ (long int)timestamp, trimmed.buf);
-+ strbuf_release(&trimmed);
++ (long int)timestamp, (int)(msgend - msg), msg);
return ret;
}Signature · 1 line
gitgitgadget