From: Junio C Hamano Date: Fri, 27 Jul 2007 07:05:35 GMT Subject: Re: [PATCH] Make verify-tag a builtin. Message-ID: <7vr6mu2uo0.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <46A96F86.2030704@gmail.com> Carlos Rica writes: > This replaces "git-verify-tag.sh" with "builtin-verify-tag.c". This is better overall, but you need to drop free(path) as you are using git_mkstemp() now on a on-stack buffer. > Signal SIGPIPE is ignored because the program sometimes was > terminated because that signal when writing the input for gpg. This "sometimes" does not give confidence to readers, I am afraid. What is happening is perfectly normal, not "sometimes it gets the signal mysteriously, so we need to paper it over by ignoring it". You invoke gpg, giving it a file that is supposed to contain a detached signature, and start feeding the payload that ought to verify Ok with the signature. If the tag is not signed, after gpg has read the detached signature, it already knows that the signature will not verify and it can exit without reading the payload from its standard input. When you try to write the payload to the pipe, you would get SIGPIPE. Anyway, I'll replace the tip of cr/tag topic with this version, and merge it to 'next'.