On Sat, May 17, 2014 at 01:59:11AM -0700, Jeremiah Mahler wrote:

> >   if (signature) {
> >     if (signature_file)
> >             die("you cannot specify both a signature and a signature-file");
> >     /* otherwise, we already have the value */
> >   } else if (signature_file) {
> >     struct strbuf buf = STRBUF_INIT;
> >     strbuf_read(&buf, signature_file, 128);
> >     signature = strbuf_detach(&buf);
> >   } else
> >     signature = git_version_string;
> > 
> 
> Before, --no-signature would clear the &signature.
> With this code it sees it as not being set and assigns
> the default version string.

Ah, you're right. Thanks for catching it.

If you wanted to know whether it was set, I guess you'd have to compare
it to the default, like:

  if (signature_file) {
        if (signature && signature != git_version_string)
                die("you cannot specify both a signature and a signature-file");
        ... read signature file ...
  }

though it's a bit ugly that this code has to know what the default is.
Having signature-file take precedence is OK with me, but it feels
somewhat arbitrary to me from the user's perspective.

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to