Subject: Re: [PATCH] make commit --interactive lock index

From: Paolo Bonzini <[email-masked]>
Date: Thu, 29 May 2008 16:40:57 +0200

>>>> +	assert (!(interactive && pathspec && *pathspec));
>>> As pathspec is specified indirectly by the user, I think an assert() 
>>> here is actively wrong.
>> But the program may still guarantee a condition by checking it 
>> elsewhere.  I don't need to teach you about that, do I?  In particular, 
>> the assert checks that this:
>>
>> if (interactive && argc > 0)
>>         die("Paths with --interactive does not make sense.");
>>
>> ... is equivalent to !pathspec || !*pathspec.
> 
> Okay, I have to spell it out:
> 
> I think that the assert() here is not helpful at all, and that you should 
> rather do the "if () die()" thingie.

The "if() die ()" thingie is already in builtin-commit.c, so we won't 
ever get a pathspec in the "add --interactive" case.  If we do, 
something else has already been done incorrectly before -- not by the 
user but by the programmer.

Paolo