Matthieu Moy venit, vidit, dixit 06.10.2011 19:22: > Jonathan Nieder <jrnieder@xxxxxxxxx> writes: > >> I probably missed some earlier discussion (so please forgive me this), > > (same here) > >> What happens if my old key is compromised and I want to throw away the >> signatures and replace them with signatures using my new key? > > With the patch we're discussing, signatures are part of history, hence > can't be modified after the fact without rewritting them. > > *But*, by design, unless sha1 itself is compromized (in which case Git > would need to change to another hash function, that would be no fun), > signing the tip of every branch is sufficient to sign the whole history. > > So, your old signatures would remain there, and your new signature, for > new commits, would be added on top. > >> How does this relate to the "push certificate" use case, which seemed >> to be mostly about authenticating published branch tips with >> signatures that are not necessarily important in the long term? > > I'm wondering how this feature would fit in a typical flow, indeed. > Usually, I hack for a while, and when I'm happy enough, I push. But I > don't take the decision of what to push at commit time, so if the idea > is to sign only a few commits (i.e. the ones you push), then you should > decide this at commit time ("hmm, I should commit --gpg-sign this time > because I'm going to push this one"). > > If the idea is to sign every commit, then there should be a config > option so that we don't have to type it every time. > Same concerns here. You can always git commit --amend --gpg-sign the commit at the tip, of course, and can even set things up to have push do this or remind you thereof. I really liked the signatures as notes (because I feel those signatures are attachments after the fact, not part of the commit) but can see how distributing and merging them is non-trivial, and similarly checking them at a point in time when they are not in a notes tree yet. Michael -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html