git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Pierre Habouzit <madcoder@debian.org>
Date
Nov 6, 2007, 09:12 UTC
Message-ID
<20071106091222.GE4435@artemis.corp>
In-Reply-To
<Pine.LNX.4.64.0711052317170.4362@racer.site>
On Mon, Nov 05, 2007 at 11:18:36PM +0000, Johannes Schindelin wrote:
Show 22 quoted lines
> 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@debian.org
OOO                                                http://www.madism.org
Previous: Björn SteinbrinkNext: Johannes Sixt
Message 14 of 24 in “Add testcase for ammending and fixing author in git commit.”
  1. 1/4 Add testcase for ammending and fixing author in git commit.Kristian Høgsberg, Nov 2, 2007
  2. 2/4 Remove unecessary hard-coding of EDITOR=':' VISUAL=':' in some test suites.Kristian Høgsberg, Nov 2, 2007
  3. 3/4 Export launch_editor() and make it accept ':' as a no-op editor.Kristian Høgsberg, Nov 2, 2007
  4. 4/4 Implement git commit and status as a builtin commands.Kristian Høgsberg, Nov 2, 2007
  5. Johannes SchindelinNov 3, 2007
  6. Kristian HøgsbergNov 8, 2007
  7. Björn SteinbrinkNov 3, 2007
  8. Kristian HøgsbergNov 5, 2007
  9. Björn SteinbrinkNov 5, 2007
  10. Johannes SchindelinNov 5, 2007
  11. Björn SteinbrinkNov 6, 2007
  12. Kristian HøgsbergNov 6, 2007
  13. Björn SteinbrinkNov 6, 2007
  14. Pierre HabouzitNov 6, 2007
  15. Johannes SixtNov 6, 2007
  16. Pierre HabouzitNov 6, 2007
  17. Andreas EricssonNov 6, 2007
  18. Kristian HøgsbergNov 6, 2007
  19. Andreas EricssonNov 2, 2007
  20. Kristian HøgsbergNov 2, 2007
  21. Junio C HamanoNov 2, 2007
  22. Junio C HamanoNov 2, 2007
  23. Kristian HøgsbergNov 2, 2007
  24. Junio C HamanoNov 2, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.