Such as v2.6.12-rc2..v2.6.13-rc3 in the Linux kernel source tree.
Insert a fake tag header, since newer `git mktag` wont accept the input
otherwise:
$ git cat-file tag v2.6.12-rc2
object 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
type commit
tag v2.6.12-rc2
Linux v2.6.12-rc2 release
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQBCbW8ZF3YsRnbiHLsRAgFRAKCq/TkuDaEombFABkPqYgGCgWN2lQCcC0qc
wznDbFU45A54dZC8RZ5JxyE=
=ESRP
-----END PGP SIGNATURE-----
$ git cat-file tag v2.6.12-rc2 | git mktag
error: char76: could not find "tagger "
fatal: invalid tag signature file
$ git cat-file tag v2.6.13-rc4 | git mktag
7eab951de91d95875ba34ec4c599f37e1208db93
Signed-off-by: Ian Campbell <[email protected]>
---
git-filter-branch.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/git-filter-branch.sh b/git-filter-branch.sh
index d07db3fee..6927aa2da 100755
--- a/git-filter-branch.sh
+++ b/git-filter-branch.sh
@@ -540,6 +540,9 @@ if [ "$filter_tag_name" ]; then
new_sha1=$( ( printf 'object %s\ntype commit\ntag %s\n'
\
"$new_sha1" "$new_ref"
git cat-file tag "$ref" |
+ awk '/^tagger/ { tagged=1 }
+ /^$/ { if (!tagged && !done) { print
"tagger Unknown <[email protected]> 0 +0000" } ; done=1 }
+ // { print }' |
sed -n \
-e '1,/^$/{
/^object /d
--
2.11.0