All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael J Gruber <git@drmicha.warpmail.net>
To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>, git@vger.kernel.org
Subject: Re: git filter-branch and merging of signed tags
Date: Mon, 2 Nov 2015 17:21:03 +0100	[thread overview]
Message-ID: <56378D6F.8080508@drmicha.warpmail.net> (raw)
In-Reply-To: <20151102080428.GO4931@pengutronix.de>

Uwe Kleine-König venit, vidit, dixit 02.11.2015 09:04:
> Hello,
> 
> Consider I want to rewrite a commit that is a merge of a signed tag. In
> my case that's 064ca93f7ab927c2752d86fc5727716e340d737c that currently
> sits in linux-next:
> 
> 	~/gsrc/linux$ git version
> 	git version 2.6.1
> 	~/gsrc/linux$ git checkout 064ca93f7ab927c2752d86fc5727716e340d737c
> 	~/gsrc/linux$ git cat-file commit HEAD
> 	tree 7086bbd51d06ebd0e3fcca70380d0a066efce6ef
> 	parent e44a01fa0e0aec2f3a21dadb9c030d14831d4258
> 	parent f719a0d6a8541b383c506aaa4b4fa6b4109669f4
> 	author Arnd Bergmann <arnd@arndb.de> 1444139956 +0200
> 	committer Arnd Bergmann <arnd@arndb.de> 1444139956 +0200
> 	mergetag object f719a0d6a8541b383c506aaa4b4fa6b4109669f4
> 	 type commit
> 	 tag efm32-for-4.4-rc1
> 	 tagger Uwe Kleine-König <uwe@kleine-koenig.org> 1443549594 +0200
> 	 
> 	 efm32 cleanups for 4.4-rc1
> 	 
> 	 These are just two followup cleanups for commits that are in v3.17-rc1 and
> 	 waited in my private tree for application since that time.
> 	 -----BEGIN PGP SIGNATURE-----
> 	 
> 	 iQEcBAABCgAGBQJWCtIwAAoJEMH8FHityuwJFPYH/2LJpi0yUhI01s0D9U5rZgjl
> 	 8mLP70utAMaqXiGqP/O0ndH+za5TrrUTwDJE5jhAHru1Q6q62Ld2BfOR5+K8zlrP
> 	 4UDGBDj3ePJgEtbSsJYJIRT+AKque2GONbeGpJh2arPrNamWChKIz8HoGSgwdRlx
> 	 TvQuVFEa6C3ujP0ATM8x54f0vR4bYm9WmBS522DwZQY4JpGZC005A3Quw6fmFxPJ
> 	 vJRo1fE1d2OZ3Cuxb15m8PLtZw6sbMdMwgyirAFGrJsN9u/V6BzsSzH0s8suT7IP
> 	 WIohnmYtFSUfkQjaGrMl2wIpJSsIzettiXf9GrQDXSGZsQ4k7sW3U+qrcZ7ZUR4=
> 	 =ngv1
> 	 -----END PGP SIGNATURE-----
> 
> 	Merge tag 'efm32-for-4.4-rc1' of git://git.pengutronix.de/git/ukl/linux into next/cleanup
> 
> 	Merge "efm32 cleanups for 4.4-rc1" from Uwe Kleine-Koenig:
> 
> 	These are just two followup cleanups for commits that are in v3.17-rc1 and
> 	waited in my private tree for application since that time.
> 
> 	* tag 'efm32-for-4.4-rc1' of git://git.pengutronix.de/git/ukl/linux:
> 	  ARM: efm32: switch to vendor,device compatible strings
> 	  ARM: efm32: switch to properly namespaced location property
> 
> OK, to fix my name in the commit log I do:
> 
> 	 git filter-branch -f --msg-filter "sed 's/Kleine-Koenig/$(echo Kleine-K+APY-nig | iconv -f utf-7 -t utf-8)/'" HEAD ^HEAD^ ^HEAD^2
> 
> This destroys the mergetag, as now I have:
> 
> 	~/gsrc/linux$ git cat-file commit HEAD
> 	tree 7086bbd51d06ebd0e3fcca70380d0a066efce6ef
> 	parent e44a01fa0e0aec2f3a21dadb9c030d14831d4258
> 	parent f719a0d6a8541b383c506aaa4b4fa6b4109669f4
> 	author Arnd Bergmann <arnd@arndb.de> 1444139956 +0200
> 	committer Arnd Bergmann <arnd@arndb.de> 1444139956 +0200
> 
> 	 efm32 cleanups for 4.4-rc1
> 	 
> 	 These are just two followup cleanups for commits that are in v3.17-rc1 and
> 	 waited in my private tree for application since that time.
> 	 -----BEGIN PGP SIGNATURE-----
> 	 
> 	 iQEcBAABCgAGBQJWCtIwAAoJEMH8FHityuwJFPYH/2LJpi0yUhI01s0D9U5rZgjl
> 	 8mLP70utAMaqXiGqP/O0ndH+za5TrrUTwDJE5jhAHru1Q6q62Ld2BfOR5+K8zlrP
> 	 4UDGBDj3ePJgEtbSsJYJIRT+AKque2GONbeGpJh2arPrNamWChKIz8HoGSgwdRlx
> 	 TvQuVFEa6C3ujP0ATM8x54f0vR4bYm9WmBS522DwZQY4JpGZC005A3Quw6fmFxPJ
> 	 vJRo1fE1d2OZ3Cuxb15m8PLtZw6sbMdMwgyirAFGrJsN9u/V6BzsSzH0s8suT7IP
> 	 WIohnmYtFSUfkQjaGrMl2wIpJSsIzettiXf9GrQDXSGZsQ4k7sW3U+qrcZ7ZUR4=
> 	 =ngv1
> 	 -----END PGP SIGNATURE-----
> 
> 	Merge tag 'efm32-for-4.4-rc1' of git://git.pengutronix.de/git/ukl/linux into next/cleanup
> 
> 	Merge "efm32 cleanups for 4.4-rc1" from Uwe Kleine-König:
> 
> 	These are just two followup cleanups for commits that are in v3.17-rc1 and
> 	waited in my private tree for application since that time.
> 
> 	* tag 'efm32-for-4.4-rc1' of git://git.pengutronix.de/git/ukl/linux:
> 	  ARM: efm32: switch to vendor,device compatible strings
> 	  ARM: efm32: switch to properly namespaced location property
> 
> 	~/gsrc/linux$ diff -u <(git cat-file commit HEAD) <(git cat-file commit 064ca93f7ab927c2752d86fc5727716e340d737c)
> 	--- /dev/fd/63	2015-11-02 09:02:17.310373539 +0100
> 	+++ /dev/fd/62	2015-11-02 09:02:17.310373539 +0100
> 	@@ -3,7 +3,11 @@
> 	 parent f719a0d6a8541b383c506aaa4b4fa6b4109669f4
> 	 author Arnd Bergmann <arnd@arndb.de> 1444139956 +0200
> 	 committer Arnd Bergmann <arnd@arndb.de> 1444139956 +0200
> 	-
> 	+mergetag object f719a0d6a8541b383c506aaa4b4fa6b4109669f4
> 	+ type commit
> 	+ tag efm32-for-4.4-rc1
> 	+ tagger Uwe Kleine-König <uwe@kleine-koenig.org> 1443549594 +0200
> 	+ 
> 	  efm32 cleanups for 4.4-rc1
> 	  
> 	  These are just two followup cleanups for commits that are in v3.17-rc1 and
> 	@@ -21,7 +25,7 @@
> 	 
> 	 Merge tag 'efm32-for-4.4-rc1' of git://git.pengutronix.de/git/ukl/linux into next/cleanup
> 	 
> 	-Merge "efm32 cleanups for 4.4-rc1" from Uwe Kleine-König:
> 	+Merge "efm32 cleanups for 4.4-rc1" from Uwe Kleine-Koenig:
> 	 
> 	 These are just two followup cleanups for commits that are in v3.17-rc1 and
> 	 waited in my private tree for application since that time.
> 
> So now the PGP-Signature also appears in the regular commit log. So
> either remove the mergetag info completely or (preferably) keep it
> completely if the merged parent didn't change.

Does your git include
a5a4b3f (filter-branch: remove multi-line headers in msg filter,
2015-10-08)? That takes care of the incomplete header tag parsing.

Should be in master by now, I think.

Keeping the mergetag signature would require some extra logic in
filter-branch.

Michael

  reply	other threads:[~2015-11-02 16:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-02  8:04 git filter-branch and merging of signed tags Uwe Kleine-König
2015-11-02 16:21 ` Michael J Gruber [this message]
2015-11-02 17:13   ` Uwe Kleine-König

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56378D6F.8080508@drmicha.warpmail.net \
    --to=git@drmicha.warpmail.net \
    --cc=git@vger.kernel.org \
    --cc=u.kleine-koenig@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.