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

p2000 failure due to empty reflog

From
René Scharfe <l.s.r@web.de>
Date
Oct 2, 2021, 17:37 UTC
Message-ID
<b25ac1cc-8e77-17e6-602a-b289c1e1cfeb@web.de>
p2000 fails for me and reports:
   perf 18 - git checkout -f - (full-v3):
   running:
   			(
   				cd full-v3 &&
   				echo >>f2/f4/a &&
   				git checkout -f -
   			)
   error: pathspec '-' did not match any file(s) known to git

checkout fails because the reflog is empty, so the "-" can't be resolved. The pathspec error message is confusing, though.

The patch below adds a reflog entry and allows the script to succeed.

Before the "test_perf_on_all git commit -a -m A", there are two reflog entries in each of the five clones, after it there are none. How is that even possible?

---
 t/perf/p2000-sparse-operations.sh | 9 +++++++++
 1 file changed, 9 insertions(+)
diff --git a/t/perf/p2000-sparse-operations.sh b/t/perf/p2000-sparse-operations.sh
index 597626276f..8529e3d295 100755
--- a/t/perf/p2000-sparse-operations.sh
+++ b/t/perf/p2000-sparse-operations.sh
@@ -25,6 +25,7 @@ test_expect_success 'setup repo and indexes' '
 	git commit -m "level 0" &&
 	BLOB=$(git rev-parse HEAD:a) &&
 	OLD_COMMIT=$(git rev-parse HEAD) &&
+	test_export OLD_COMMIT &&
 	OLD_TREE=$(git rev-parse HEAD^{tree}) &&

 	for i in $(test_seq 1 3)
@@ -109,6 +110,14 @@ test_perf_on_all git status
 test_perf_on_all git add -A
 test_perf_on_all git add .
 test_perf_on_all git commit -a -m A
+
+test_expect_success 'add reflog entry' '
+	for repo in full-v3 full-v4 sparse-v3 sparse-v4
+	do
+		git -C $repo checkout $OLD_COMMIT
+	done
+'
+
 test_perf_on_all git checkout -f -

 test_done
--
2.33.0
Next: Derrick Stolee
Message 1 of 10 in “p2000 failure due to empty reflog”
  1. René ScharfeOct 2, 2021
  2. Derrick StoleeOct 4, 2021
  3. René ScharfeOct 5, 2021
  4. Junio C HamanoOct 6, 2021
  5. perf: disable automatic housekeepingRené Scharfe, Oct 9, 2021
  6. "git reflog expire" blindly trusting timestamps in reflogsÆvar Arnfjörð Bjarmason, Oct 9, 2021
  7. Junio C HamanoOct 9, 2021
  8. Jeff KingOct 11, 2021
  9. Ævar Arnfjörð BjarmasonOct 5, 2021
  10. René ScharfeOct 9, 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.