Re: I lost my commit signature
- From
ZhenTian <loooseleaves@gmail.com>
- Date
- Jun 15, 2016, 04:27 UTC
- Message-ID
- <CAGrdoOoxphU0tRjV22yduXrhmOSyCc_zVnhuO9fFA6UPRd9WiA@mail.gmail.com>
- In-Reply-To
- <e129da8e-4e1d-c535-ca62-d2a4c2e23799@drmicha.warpmail.net>
Hi Michael and Peff,
I got two more lines from gpg -v during commit with -S: ``` gpg: writing to stdout gpg: RSA/SHA1 signature from: "2EF2AD6E Tian Zhen <tianzhen@honovation.com>" ```
after I commit, I push it to remote, but someone had pushed before to master branch, so I pull on master branch(`git pull --rebase`), then I check my commit via `git log --show-signature`, there is no signature in it, so I commit it with --ament and -S again, the signature is come back.
I haven't check signature before push, because I have checked four commits before, every commit is fine.
I don't know whether the `git pull` influenced signature or not.
My signature is just like Schrodinger's cat, when I check it, it lost :) -Schrödinger
On Tue, Jun 14, 2016 at 6:57 PM, Michael J Gruber <git@drmicha.warpmail.net> wrote:
Show 43 quoted lines
> Jeff King venit, vidit, dixit 14.06.2016 11:41: >> On Tue, Jun 14, 2016 at 04:39:38PM +0800, ZhenTian wrote: >> >>> I want to set gpg -v to pgp.program, but if I set it, it can't call gpg: >>> ``` >>> error: cannot run gpg -v: No such file or directory >>> error: could not run gpg. >>> fatal: failed to write commit object >>> ``` >>> >>> I have tried set gpg.program value to `gpg|/tmp/log`, `/usr/bin/gpg >>> -v`, `gpg -v`, `"/usr/bin/gpg -v"` >>> >>> only after I set to `gpg` or `/usr/bin/gpg` without any argument, it will work. >> >> Ah, right. Most of the time we run such programs as shell commands, but >> it looks like we do not. So you'd have to do something like: >> >> cat >/tmp/fake-gpg <<-\EOF >> #!/bin/sh >> gpg -v "$@" >> EOF >> chmod +x /tmp/fake-gpg >> git config gpg.program /tmp/fake-gpg >> >> -Peff >> > > The content of "gpg.program" is used as argv[0] when we build up various > commands to be run; we expect it to heed standard gpg options. > > On the other hand: > > git -c gpg.program=echo commit -S > > 'successfully' creates a commit that has > > gpgsig -bsau Michael J Gruber <mickey@mouse.dis> > > as the last header line. gpg.program=true fails (as does cat, unhappy > with the options), so apparently we do some error checking but not enough. > > Michael