mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Ted Ts'o" <tytso@mit.edu>, Shawn Pearce <spearce@spearce.org>,
	git@vger.kernel.org,
	James Bottomley <James.Bottomley@hansenpartnership.com>,
	Jeff Garzik <jeff@garzik.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-ide@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [git patches] libata updates, GPG signed (but see admin notes)
Date: Fri, 04 Nov 2011 23:36:51 -0700	[thread overview]
Message-ID: <7v1utn9it8.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <CA+55aFyRawm9CoJMiEXDFCX4YTidPOiV4oqSS2d7nNv7Ecw8BQ@mail.gmail.com> (Linus Torvalds's message of "Thu, 3 Nov 2011 12:09:55 -0700")

Linus Torvalds <torvalds@linux-foundation.org> writes:

> On Thu, Nov 3, 2011 at 11:52 AM, Junio C Hamano <gitster@pobox.com> wrote:
>>
>> Ahh, sorry for the noise. I realize that we already have a winner, namely,
>> the proposal outlined in your message I was responding to.
>
> No, no, don't consider my "put in the merge message" a winner at all.
>
> I personally dislike it, and don't really think it's a wonderful thing
> at all. I really does have real downsides:
>
>  - internal signatures really *are* a disaster for maintenance. You
> can never fix them if they need fixing (and "need fixing" may well be
> "you want to re-sign things after a repository format change")
>
>  - they are ugly as heck, and you really don't want to see them in
> 99.999% of all cases.
>
> So putting those things iin the merge commit message may have some
> upsides, but it has tons of downsides too.
>
> I think your refs/audit/ idea should be given real thought, because
> maybe that's the right idea.

While I agree that re-signing is a problem, I do not see it as a huge
issue. In your "SHA-1 to SHA-256 transtion" scenario, the conversion is a
flag day event in the hopefully fairly distant (in the git timescale)
future, and I am reasonably sure that by that time we would already have
infrastructure updates necessary to support huge number of refs, including
the "lazily scan only the refs necessary" and the "some refs are optional
in advertisement" topics that are useful for other purposes.

In the worst case, even if we used your "merge commit records the merged
tag as the record of requested pull" design today, we could choose not to
rewrite these in-merge-commit signatures when the conversion becomes
necessary. Instead, the conversion procedure can prepare a mapping table
between the old SHA-1 and the rewritten SHA-256, and contributors can
prepare detached signature for the mappings of their own commits after
verifying that the conversion produced what they are happy with. And then
we store concatenation of these detached signatures in a blob to help
future third party auditors to audit these (by-then) historical commits.

About the ugliness of the merge commit log messages, you have already
learned to ignore them with "log --no-merges" ;-) and the material the
patch series I sent out adds are at the end, so "/^commit.*$" in less
would hopefully work well enough in "log --no-merges" as well.

Because the refs/audit/ approach requires too much infrastructure we still
do not have today, and workflow elements are not fully worked out
(e.g. propagating audit trails fully from sub-sub-sub-...-lieutenants
upwards is tricky as I outlined in the other message), I think we should
start from a design that we can see how it would work now.

With the posted series, the workflow would become something like this:

  contributor$ work work work

  contributor$ git tag -s -m 'Signed pull

  This series is to allow the integrator to pull from contributors
  by specifying a signed tag, not the tip of the branch, and verify
  the authenticity of the series while merging' for-linus

  contributor$ git push public for-linus

  contributor$ git request-pull origin \
          $(git config remote.public.url) for-linus >msg
  contributor$ edit msg
  contributor$ mail torvalds@...

  integrator$ mail ;# read the pull request
  integrator$ git pull git://github.com/contributor/linux.git for-linus
   ... editor opens with the usual merge message, but with
   ... the contents of the tag and the "GPG verify" result at
   ... the end.

It might make sense to also teach the "git tag" part somehow use branch
description of the tip of branch being tagged to prime the tag message.

  parent reply	other threads:[~2011-11-05  6:36 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-26 20:22 Jeff Garzik
2011-10-29 19:13 ` Valdis.Kletnieks
2011-10-29 19:27   ` Jeff Garzik
2011-10-30 10:05 ` James Bottomley
2011-10-30 17:12   ` Linus Torvalds
2011-10-31  8:19     ` James Bottomley
2011-10-31 15:53       ` Linus Torvalds
2011-10-31 18:23         ` Junio C Hamano
2011-10-31 22:18           ` Linus Torvalds
2011-10-31 22:20             ` H. Peter Anvin
2011-10-31 22:30               ` Linus Torvalds
2011-10-31 22:33                 ` H. Peter Anvin
2011-10-31 22:38                   ` Linus Torvalds
2011-10-31 22:51                     ` Junio C Hamano
2011-10-31 22:56                       ` Linus Torvalds
2011-11-02  9:11                         ` Ingo Molnar
2011-11-02 11:20                           ` Jochen Striepe
2011-10-31 23:09                       ` Junio C Hamano
2011-10-31 22:44                   ` Junio C Hamano
2011-10-31 22:47                     ` H. Peter Anvin
2011-10-31 22:49                     ` Ted Ts'o
2011-10-31 22:51                       ` H. Peter Anvin
2011-10-31 22:52                     ` Linus Torvalds
2011-10-31 22:54                       ` H. Peter Anvin
2011-10-31 23:03                         ` Linus Torvalds
2011-11-01  5:39                       ` James Bottomley
2011-10-31 23:55                     ` Jeff Garzik
2011-11-01  0:42                       ` H. Peter Anvin
2011-10-31 22:33               ` Jiri Kosina
2011-11-01 19:47             ` Junio C Hamano
2011-11-01 21:21               ` Linus Torvalds
2011-11-01 21:56                 ` Junio C Hamano
2011-11-02 20:04                   ` Linus Torvalds
2011-11-02 21:13                     ` Junio C Hamano
2011-11-03  1:02                     ` Shawn Pearce
2011-11-03  1:19                       ` Linus Torvalds
2011-11-03  1:45                         ` Linus Torvalds
2011-11-03  2:14                           ` Shawn Pearce
2011-11-03  2:25                             ` Linus Torvalds
2011-11-03  3:22                               ` Jochen Striepe
2011-11-03  4:13                                 ` Linus Torvalds
2011-11-10 13:51                                   ` David Woodhouse
2011-11-10 15:23                                     ` Marc Branchaud
2011-11-03  2:31                             ` Linus Torvalds
2011-11-03  2:19                           ` Linus Torvalds
2011-11-04 20:16                             ` Junio C Hamano
2011-11-04 21:22                               ` Junio C Hamano
2011-11-04 23:10                                 ` Linus Torvalds
2011-11-05  3:55                                   ` Jeff King
2011-11-05  4:37                                   ` Junio C Hamano
2011-11-03 18:16                           ` Junio C Hamano
2011-11-03 18:52                             ` Junio C Hamano
2011-11-03 19:09                               ` Linus Torvalds
2011-11-04 14:59                                 ` Ted Ts'o
2011-11-04 15:14                                   ` Linus Torvalds
2011-11-07  7:52                                     ` Valdis.Kletnieks
2011-11-07 16:24                                       ` Linus Torvalds
2011-11-05  6:36                                 ` Junio C Hamano [this message]
2011-11-05 16:41                                   ` Linus Torvalds
2011-11-05 23:49                                     ` Junio C Hamano
2011-11-06  0:53                                       ` Linus Torvalds
2011-11-09 17:26                                 ` Junio C Hamano
2011-11-10  8:02                                   ` Johan Herland
2011-11-10 15:15                                     ` Junio C Hamano
2011-11-10 16:03                                       ` Johan Herland
2011-11-10 17:18                                         ` Junio C Hamano
2011-11-11  1:17                                           ` Johan Herland
2011-11-11  5:26                                             ` Junio C Hamano
2011-11-03 19:06                             ` Linus Torvalds
2011-11-04 21:12                             ` Junio C Hamano
2011-11-04 23:45                               ` Linus Torvalds
2011-11-03  2:55                       ` Jeff King
2011-11-03  3:16                         ` Robin H. Johnson
2011-11-03 18:29                     ` Junio C Hamano
2011-11-01 22:39                 ` Ted Ts'o
2011-11-02 23:34                 ` Junio C Hamano
2011-11-02 23:41                   ` david
2011-11-02 23:42                   ` Linus Torvalds
2011-11-10 13:52                 ` David Woodhouse
2011-11-02 10:53               ` Michael J Gruber
2011-11-02 18:58                 ` Junio C Hamano
2011-11-02 21:05                   ` Michael J Gruber
2011-10-31  8:40     ` Ingo Molnar
2011-10-31 21:46     ` H. Peter Anvin
2011-10-31 22:21       ` Linus Torvalds
2011-10-31 22:23         ` H. Peter Anvin
2011-10-31 22:34           ` Linus Torvalds
2011-11-01  2:17             ` david
2011-11-01  3:25               ` H. Peter Anvin
2011-11-01  3:42                 ` Linus Torvalds
2011-11-01  4:25                   ` hpanvin@gmail.com
2011-11-01  5:19                     ` James Bottomley
2011-11-01 13:13                       ` Henrique de Moraes Holschuh
2011-11-01 17:06                   ` Tony Luck
2011-11-01 17:15                     ` Linus Torvalds
2011-11-12 19:31                       ` Felipe Contreras
2011-11-01  5:03                 ` david
2011-11-01 13:32                   ` Theodore Tso
2011-11-01  3:31               ` Linus Torvalds
2011-11-01  4:58                 ` david
     [not found]     ` <20111031084048.GA11807__21610.4542407722$1320051469$gmane$org@elte.hu>
2011-10-31 22:03       ` Junio C Hamano

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=7v1utn9it8.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=akpm@linux-foundation.org \
    --cc=git@vger.kernel.org \
    --cc=jeff@garzik.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=spearce@spearce.org \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®