On Sat, May 17, 2014 at 06:00:14AM -0400, Jeff King wrote:
> 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 ...
> }
>
That works until someone changes the default value.
But if they did that then some tests should fail.
I like the address comparision which avoids a string comparision.
> 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
--
Jeremiah Mahler
[email protected]
http://github.com/jmahler
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html