Subject: BUG?: git-filter-branch removes mergetags

From: Uwe Kleine-König <[email-masked]>
Date: Tue, 23 Sep 2014 21:13:17 +0200

Hello,

I just noticed that git-filter-branch doesn't preserve mergetag
annotations in situations where it could. Here is an example (with
linux.git):

	$ git checkout -b test 6cd2f85413eef8fe7bcd7c25bf55e7b055fa257c
	$ git cat-file commit HEAD | grep mergetag
	mergetag object 954263938706bf62d36e81b6b49f313390f2ed35
	$ git filter-branch -f --msg-filter 'sed s/foo/bar/' HEAD^!
	Rewrite 6cd2f85413eef8fe7bcd7c25bf55e7b055fa257c (1/1)
	Ref 'refs/heads/test' was rewritten
	$ diff -u <(git cat-file commit refs/original/refs/heads/test) <(git cat-file commit HEAD)
	--- /dev/fd/63	2014-09-23 21:07:49.987065017 +0200
	+++ /dev/fd/62	2014-09-23 21:07:49.991064988 +0200
	@@ -3,32 +3,6 @@
	 parent 954263938706bf62d36e81b6b49f313390f2ed35
	 author Linus Torvalds <[email-masked]> 1411488823 -0700
	 committer Linus Torvalds <[email-masked]> 1411488823 -0700
	-mergetag object 954263938706bf62d36e81b6b49f313390f2ed35
	- type commit
	- tag for-linus
	- tagger Paolo Bonzini <[email-masked]> 1411478481 +0200
	- 
	- Another fix for 3.17 arrived at just the wrong time, after I had sent
	- yesterday's pull request.  Normally I would have waited for
	- some other patches to pile up, but since 3.17 might be short
	- here it is.
	- -----BEGIN PGP SIGNATURE-----
	- Version: GnuPG v2.0.22 (GNU/Linux)
	- 
	- iQIcBAABAgAGBQJUIXPRAAoJEBvWZb6bTYbyySEP/AkPjfNGYqwBbM8GUJ4tt4gR
	- C+xbiO+xPr2qCwfi36DQtL0UPwJHWSq7SXaDMvSqMo22FjnFcVaGuQcGAPno/8ZA
	- tLBe1km9HIPlEIV3vpoe8PPpj9cuZ86+YOCuPIqK5fC7l6Ops0dhCOjf88tmPVQ4
	- yhodpJ1Lt/sPBUWb6pNfk0iWD+qSbfUWtwzv89oudEvLcLiAcPSBdbvnxVS3bmGm
	- qbL8pvCOozK5GJbl0+cYWCoEPBP5ekqGvwvGdEBTx+4qv2S2htzUX30UA2VYy5IR
	- jMXVrJbvSW9FXQdBgr0Q4ql6evOVjL+5LpwgRUC6tuC6r1rMP+nXyHKS35HC1i8W
	- FYr62B/LZTm4vyDHsmsiEl43VLAcF7kmXufQT62vJg+ifeA1MAMIJra7ZDx8WbsD
	- HDqM+CeaZrF3p4okRrktbecQdeFFyg4wOasHRTO7SETkbP7i1cS0Mp8rRbX3CnJq
	- 0UM8STe+hViXR7uYZEbjlbGKkszDS49fstJIaNm9JPJm+S/V5/MZFelNWgPp/+kF
	- xpQUxtoSaFnqgBXpRZ7t2Y2zGeZkMWn/P84S23/7K1TfRPCsUpgFbiY26rGW9l4v
	- r8gz7v+V1gCzWYVRuEzolFrea6A1ik2sspzeDuZOrf+QYwMyyUdEQ/NfCm032wba
	- CYL0V2M/dJNmZnZRPP9/
	- =ZkSE
	- -----END PGP SIGNATURE-----
	 
	 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
	 
I expected the signature to not disappear such that in the example above
no change is introduced.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |