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

[PATCH v2] t3200: replace hardcoded null OID with $ZERO_OID

From
Siddharth Shrimali <r.siddharth.shrimali@gmail.com>
Date
Mar 11, 2026, 17:41 UTC
Message-ID
<20260311174120.76871-1-r.siddharth.shrimali@gmail.com>
In-Reply-To
<abFP9vZOVHGI536G@pks.im>

To support the SHA-256 transition, replace the hardcoded 40-zero string in 'git branch --merged' with '$ZERO_OID'. The current 40-character string causes the test to fail prematurely in SHA-256 environments because Git identifies a "malformed object name" (due to the 40 vs 64 character mismatch) before it even validates the object type.

By using '$ZERO_OID', we ensure the hash length is always correct for the active algorithm. Additionally, use 'test_grep' to verify the "must point to a commit" error message, ensuring the test validates the object type logic rather than just string syntax.

Suggested-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Siddharth Shrimali <r.siddharth.shrimali@gmail.com>
---
Changes in V2:
- Updated the test to capture stderr and use 'test_grep' to verify the 
  error message. This ensures the failure is due to the object type 
  check ("must point to a commit") rather than a hash length mismatch.
- Improved the commit message to add detail to the 40 vs 64 character
  mismatch and the "premature failure" in SHA-256.
 t/t3200-branch.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
index c58e505c43..e7829c2c4b 100755
--- a/t/t3200-branch.sh
+++ b/t/t3200-branch.sh
@@ -1494,7 +1494,8 @@ test_expect_success 'refuse --edit-description on unborn branch for now' '
 '
 
 test_expect_success '--merged catches invalid object names' '
-	test_must_fail git branch --merged 0000000000000000000000000000000000000000
+	test_must_fail git branch --merged $ZERO_OID 2>err &&
+	test_grep "must point to a commit" err
 '
 
 test_expect_success '--list during rebase' '
-- 
2.51.2
Previous: Patrick SteinhardtNext: brian m. carlson
Message 3 of 5 in “t3200: replace hardcoded null OID with $ZERO_OID”
  1. t3200: replace hardcoded null OID with $ZERO_OIDSiddharth Shrimali, Mar 11, 2026
  2. Patrick SteinhardtMar 11, 2026
  3. t3200: replace hardcoded null OID with $ZERO_OIDSiddharth Shrimali, Mar 11, 2026
  4. brian m. carlsonMar 11, 2026
  5. Patrick SteinhardtMar 12, 2026

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.