git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/4] test-ref-store: tweaks to for-each-reflog-ent format

From
Han-Wen Nienhuys via GitGitGadget <gitgitgadget@gmail.com>
Date
Aug 30, 2021, 14:48 UTC
Message-ID
<d48207d6858502f04fd501a24ff7c2a80062dfbe.1630334929.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1067.git.git.1630334929.gitgitgadget@gmail.com>
From: Han-Wen Nienhuys <hanwen@google.com>

Follow the reflog format more closely, so it can be used for comparing reflogs in tests without using inspecting files under .git/logs/

Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
---
 t/helper/test-ref-store.c      | 6 +++---
 t/t1405-main-ref-store.sh      | 5 +++--
 t/t1406-submodule-ref-store.sh | 4 ++--
 3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/t/helper/test-ref-store.c b/t/helper/test-ref-store.c
index b314b81a45b..d7bbb20e614 100644
--- a/t/helper/test-ref-store.c
+++ b/t/helper/test-ref-store.c
@@ -151,9 +151,9 @@ static int each_reflog(struct object_id *old_oid, struct object_id *new_oid,
 		       const char *committer, timestamp_t timestamp,
 		       int tz, const char *msg, void *cb_data)
 {
-	printf("%s %s %s %"PRItime" %d %s\n",
-	       oid_to_hex(old_oid), oid_to_hex(new_oid),
-	       committer, timestamp, tz, msg);
+	const char *newline = strchr(msg, '\n') ? "" : "\n";
+	printf("%s %s %s %" PRItime " %+05d\t%s%s", oid_to_hex(old_oid),
+	       oid_to_hex(new_oid), committer, timestamp, tz, msg, newline);
 	return 0;
 }
 
diff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh
index 49718b7ea7f..16a99382770 100755
--- a/t/t1405-main-ref-store.sh
+++ b/t/t1405-main-ref-store.sh
@@ -88,14 +88,15 @@ test_expect_success 'for_each_reflog()' '
 
 test_expect_success 'for_each_reflog_ent()' '
 	$RUN for-each-reflog-ent HEAD >actual &&
+	cat actual &&
 	head -n1 actual | grep one &&
-	tail -n2 actual | head -n1 | grep recreate-main
+	tail -n1 actual | grep recreate-main
 '
 
 test_expect_success 'for_each_reflog_ent_reverse()' '
 	$RUN for-each-reflog-ent-reverse HEAD >actual &&
 	head -n1 actual | grep recreate-main &&
-	tail -n2 actual | head -n1 | grep one
+	tail -n1 actual | grep one
 '
 
 test_expect_success 'reflog_exists(HEAD)' '
diff --git a/t/t1406-submodule-ref-store.sh b/t/t1406-submodule-ref-store.sh
index 0a87058971e..b0365c1fee0 100755
--- a/t/t1406-submodule-ref-store.sh
+++ b/t/t1406-submodule-ref-store.sh
@@ -74,13 +74,13 @@ test_expect_success 'for_each_reflog()' '
 test_expect_success 'for_each_reflog_ent()' '
 	$RUN for-each-reflog-ent HEAD >actual &&
 	head -n1 actual | grep first &&
-	tail -n2 actual | head -n1 | grep main.to.new
+	tail -n1 actual | grep main.to.new
 '
 
 test_expect_success 'for_each_reflog_ent_reverse()' '
 	$RUN for-each-reflog-ent-reverse HEAD >actual &&
 	head -n1 actual | grep main.to.new &&
-	tail -n2 actual | head -n1 | grep first
+	tail -n1 actual | grep first
 '
 
 test_expect_success 'reflog_exists(HEAD)' '
-- 
gitgitgadget
Previous: Han-Wen Nienhuys via GitGitGadgetNext: Taylor Blau
Message 2 of 40 in “Gets rid of "if reflog exists, append to it regardless of config settings"”
  1. 0/4 Gets rid of "if reflog exists, append to it regardless of config settings"Han-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  2. 1/4 test-ref-store: tweaks to for-each-reflog-ent formatHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  3. Taylor BlauAug 30, 2021
  4. Taylor BlauAug 30, 2021
  5. Junio C HamanoAug 30, 2021
  6. Taylor BlauAug 30, 2021
  7. Junio C HamanoAug 30, 2021
  8. 2/4 t1400: use test-helper ref-store to inspect reflog contentsHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  9. Junio C HamanoAug 30, 2021
  10. 3/4 refs: drop force_create argument of create_reflog APIHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  11. Junio C HamanoAug 30, 2021
  12. 4/4 RFC: refs: reflog entries aren't written based on reflog existence.Han-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  13. Taylor BlauAug 30, 2021
  14. Junio C HamanoAug 30, 2021
  15. 0/5 Gets rid of "if reflog exists, append to it regardless of config settings"Han-Wen Nienhuys via GitGitGadget, Sep 6, 2021
  16. 1/5 refs: trim newline from reflog messageHan-Wen Nienhuys via GitGitGadget, Sep 6, 2021
  17. Ævar Arnfjörð BjarmasonSep 6, 2021
  18. 2/5 test-ref-store: tweaks to for-each-reflog-ent formatHan-Wen Nienhuys via GitGitGadget, Sep 6, 2021
  19. Ævar Arnfjörð BjarmasonSep 6, 2021
  20. Han-Wen NienhuysSep 7, 2021
  21. Ævar Arnfjörð BjarmasonSep 7, 2021
  22. 3/5 t1400: use test-helper ref-store to inspect reflog contentsHan-Wen Nienhuys via GitGitGadget, Sep 6, 2021
  23. 4/5 refs: drop force_create argument of create_reflog APIHan-Wen Nienhuys via GitGitGadget, Sep 6, 2021
  24. Ævar Arnfjörð BjarmasonSep 6, 2021
  25. 5/5 RFC: refs: reflog entries aren't written based on reflog existence.Han-Wen Nienhuys via GitGitGadget, Sep 6, 2021
  26. Ævar Arnfjörð BjarmasonSep 6, 2021
  27. 0/7 Gets rid of "if reflog exists, append to it regardless of config settings"Han-Wen Nienhuys via GitGitGadget, Sep 7, 2021
  28. 1/7 show-branch: show reflog messageHan-Wen Nienhuys via GitGitGadget, Sep 7, 2021
  29. 5/7 refs: drop force_create argument of create_reflog APIHan-Wen Nienhuys via GitGitGadget, Sep 7, 2021
  30. 2/7 refs: trim newline from reflog messageHan-Wen Nienhuys via GitGitGadget, Sep 7, 2021
  31. 3/7 test-ref-store: tweaks to for-each-reflog-ent formatHan-Wen Nienhuys via GitGitGadget, Sep 7, 2021
  32. 6/7 RFC: refs: reflog entries aren't written based on reflog existence.Han-Wen Nienhuys via GitGitGadget, Sep 7, 2021
  33. 4/7 t1400: use test-helper ref-store to inspect reflog contentsHan-Wen Nienhuys via GitGitGadget, Sep 7, 2021
  34. 7/7 refs: change log_ref_setup calling conventionHan-Wen Nienhuys via GitGitGadget, Sep 7, 2021
  35. Han-Wen NienhuysOct 5, 2021
  36. Junio C HamanoOct 6, 2021
  37. Junio C HamanoOct 6, 2021
  38. Junio C HamanoOct 7, 2021
  39. Han-Wen NienhuysNov 11, 2021
  40. Ævar Arnfjörð BjarmasonNov 11, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.