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:26 UTC
Message-ID
<20071106092648.GG4435@artemis.corp>
In-Reply-To
<4730314A.9010403@viscovery.net>
On Tue, Nov 06, 2007 at 09:18:02AM +0000, Johannes Sixt wrote:
Show 16 quoted lines
> Pierre Habouzit schrieb:
> >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)) {
> >    }
> 
> This goes too far, IMHO. That's unnecessary cleverness/microoptimization 
> at the expense of readability.

The reason why I did that is not to be able to do mode & (mode - 1). Have a look at diff.c, imagine the insane amount of intermediate variables we would need, and now understand why I introduced that :)

I'm not sure it's useful for git-commit, I was mentioning it just in case.
Note: the fact that an OPT_BOOLEAN when you repeat it increments the
      value isn't always a good thing, and is the reason why you need
      the (quite ugly) double bangs.
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org
Previous: Johannes SixtNext: Andreas Ericsson
Message 16 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.