From 90863ac9bd27fa29bed50e82cdbaa3bef05d01d9 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 4 May 2026 17:26:45 +0200 Subject: [PATCH] AGENTS.md: include the base-tag in the OID-stabilization fast-export The playground workflow's stabilization step (section "The playground repository", step 5) used to invoke fast-export on HEAD alone. That re-imports the entire ancestry, including the import commits the curl-* style tarball tags reference, with new OIDs. fast-import then leaves the import-tars-created tag pointing at its old commit, which in turn makes `format-patch ..HEAD` in step 6 include the rewritten import commit as a spurious patch 0001 with the entire tarball-content as a diff. This was hit while refreshing mingw-w64-curl's patch series for 8.20.0 (commit fb4605a735 in the mingw-w64-curl-8.20.0 branch). The instruction "Then update the tag and branch ref (`git checkout `)" already implied that something about the tag needs attention, but did not spell out how. The cleanest fix is to pass the base tag's ref alongside HEAD to fast-export, so fast-import re-creates the tag pointing at the rewritten import commit naturally, with no follow-up tag surgery needed. Assisted-by: Claude Opus 4.7 (1M context)(Internal only) Signed-off-by: Johannes Schindelin --- AGENTS.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 066511989b127..d953dc1452a7d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -108,11 +108,18 @@ inside the package directory and use it to rebase the patches: mismatched committer date there changes the OID of every descendant. If any lines appear, fix them with: - git fast-export --no-data HEAD | \ + git fast-export --no-data refs/tags/ HEAD | \ awk '/^author /{a=$0} /^committer /{$0="committer " substr(a,8)} 1' | \ git fast-import --force --quiet Then update the tag and branch ref (`git checkout `). + Note that `` (the new tarball's import commit) is + passed to `fast-export` alongside `HEAD`. Without it, the tag + keeps pointing at the pre-rewrite import commit, so step 6's + `format-patch ..HEAD` ends up emitting the multi-MB + tarball-import as a spurious patch 0001. Listing the tag here + makes `fast-import` recreate it pointing at the rewritten + import commit. 6. `git format-patch --no-signature -o ../.. ` to export back to the PKGBUILD directory. 7. Verify the round-trip: re-export `format-patch` from the