Re: [PATCH 4/4] Implement git commit and status as a builtin commands.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Pierre Habouzit
Date: Tuesday, November 6, 2007 - 2:12 am

On Mon, Nov 05, 2007 at 11:18:36PM +0000, Johannes Schindelin wrote:
o=20

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)) =3D=3D 0
      iff i is 0 or a power of 2.

  [1] the patch[3]:
      http://git.madism.org/?p=3Dgit.git;a=3Dcommitdiff;h=3D9d75b0a00915fa8=
1657934f36318c1c0f5bac96b
      example of use:
      http://git.madism.org/?p=3Dgit.git;a=3Dcommitdiff;h=3D74aacc487579d0c=
bd638adf883e743caeaee0f76
      http://git.madism.org/?p=3Dgit.git;a=3Dcommitdiff;h=3Daf15793dde94119=
faa1577c9eec7e839ae628011

  [2] http://git.madism.org/?p=3Dgit.git;a=3Dcommitdiff;h=3D86032204f1bdf5d=
a2fee555ec917709b3e6f662c#patch10

  [3] oh boy gitweb urls are really way too long :/
--=20
=C2=B7O=C2=B7  Pierre Habouzit
=C2=B7=C2=B7O                                                madcoder@debia=
n.org
OOO                                                http://www.madism.org
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 1/4] Add testcase for ammending and fixing author i ..., Kristian Høgsberg, (Fri Nov 2, 8:33 am)
[PATCH 2/4] Remove unecessary hard-coding of EDITOR=':' VI ..., Kristian Høgsberg, (Fri Nov 2, 8:33 am)
[PATCH 3/4] Export launch_editor() and make it accept ':' ..., Kristian Høgsberg, (Fri Nov 2, 8:33 am)
[PATCH 4/4] Implement git commit and status as a builtin c ..., Kristian Høgsberg, (Fri Nov 2, 8:33 am)
Re: [PATCH 4/4] Implement git commit and status as a built ..., Johannes Schindelin, (Sat Nov 3, 6:56 am)
Re: [PATCH 4/4] Implement git commit and status as a built ..., Johannes Schindelin, (Mon Nov 5, 4:18 pm)
Re: [PATCH 4/4] Implement git commit and status as a built ..., Pierre Habouzit, (Tue Nov 6, 2:12 am)