Re: upstreaming https://github.com/cgwalters/git-evtag ?
- Date: Mon, 8 Jan 2018 12:49:01 -0800
- From: Stefan Beller <sbeller@xxxxxxxxxx>
- Subject: Re: upstreaming https://github.com/cgwalters/git-evtag ?
On Mon, Jan 8, 2018 at 12:40 PM, Santiago Torres <santiago@xxxxxxx> wrote:
> I personally like the idea of git-evtags, but I feel that they could be
> made so that push certificates (and being hash-algorithm agnostic)
> should provide the same functionality with less code.
> To me, a git evtag is basically a signed tag + a data structure similar
> to a push certificate embedded in it. I wonder if, with the current
> tooling in git, this could be done as a custom command...
In that case, why not migrate Git to a new hash function instead
of adding a very niche fixup?
for how to do it.
Personally I'd dislike to include ev-tags as it might send a signal
of "papering over sha1 issues instead of fixing it".
push certificates are somewhat underdocumented, see the
git-push man page, which contains
GPG-sign the push request to update refs on the
receiving side, to allow it to be checked by the
hooks and/or be logged. If false or --no-signed, no
signing will be attempted. If true or --signed, the
push will fail if the server does not support signed
pushes. If set to if-asked, sign if and only if the
server supports signed pushes. The push will also
fail if the actual call to gpg --sign fails. See git-
receive-pack(1) for the details on the receiving end.
Going to receive-pack(1), there is an excerpt:
When accepting a signed push (see git-push(1)), the
signed push certificate is stored in a blob and an
environment variable GIT_PUSH_CERT can be consulted for
its object name. See the description of post-receive hook
for an example. In addition, the certificate is verified
using GPG and the result is exported with the following