On Mon, Nov 05, 2007 at 11:18:36PM +0000, Johannes Schindelin wrote: > Hi, > > On Mon, 5 Nov 2007, Bj?rn Steinbrink wrote: > > > On 2007.11.05 13:57:53 -0500, Kristian H?gsberg wrote: > > > > > The shell script just has > > > > > > case "$all,$interactive,$also,$#" in > > > *t,*t,*) > > > die "Cannot use -a, --interactive or -i at the same time." ;; > > > > > > which doesn't seem to care about the value of $also. As far as I > > > understand git commit, it doesn't make sense to pass any of -a, -i, -o > > > or --interactive at the same time so I guess I could join the checks > > > > Note that there are only two commas. The asterisks catch everything and > > $# won't be "t", so that catches anything with at least two t's. > > So shouldn't it be > > if (!!all + !!interactive + !!also > 1) Btw, I'm starting to work slowly on the diff_opt_parse conversion to the macro we discussed, and the need for new option parsing callbacks arised, and I've created a: parse_opt_mask_{or,and,xor} commands that you declare this way: OPT_MASK_OR('a', "all", &mode, "...", MASK_ALL), OPT_MASK_OR('i', "interactive", &mode, "...", MASK_INTERACTIVE), ... And if you chose MASK_ALL/INTERACTIVE/.. to be single bits, if (!!all + !!interactive ... > 1) becomes[0]: if (mode & (mode - 1)) { } I've not read your patch thoroughly, but if you feel such a thing would help you, I could send a preliminar set of patches to enable this feature for people that may need it. Though you can look at my WIP on my git public repository[1]. For those who care, this need arised because parse_diff_opts have a _lot_ of single bit options, and that expansing it on many many full blown integers looked like a regression, so I took the option to have a `flags` member with explicit masks, and those masks will be used from the parse-option callbacks[2] [0] for those who don't already know it, (i & (i - 1)) == 0 iff i is 0 or a power of 2. [1] the patch[3]: http://git.madism.org/?p=git.git;a=commitdiff;h=9d75b0a00915fa81657934f36318c1c0f5bac96b example of use: http://git.madism.org/?p=git.git;a=commitdiff;h=74aacc487579d0cbd638adf883e743caeaee0f76 http://git.madism.org/?p=git.git;a=commitdiff;h=af15793dde94119faa1577c9eec7e839ae628011 [2] http://git.madism.org/?p=git.git;a=commitdiff;h=86032204f1bdf5da2fee555ec917709b3e6f662c#patch10 [3] oh boy gitweb urls are really way too long :/ -- ·O· Pierre Habouzit ··O madcoder@xxxxxxxxxx OOO http://www.madism.org
Attachment:
pgpwsqB6o38iy.pgp
Description: PGP signature