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

Re: [PATCH 1/5] parseopt: add OPT_NEGBIT

From
Jeff King <peff@peff.net>
Date
May 8, 2009, 05:01 UTC
Message-ID
<20090508050117.GB8909@coredump.intra.peff.net>
In-Reply-To
<1241725457.4772.7.camel@ubuntu.ubuntu-domain>
On Thu, May 07, 2009 at 09:44:17PM +0200, René Scharfe wrote:
> Add OPTION_NEGBIT and OPT_NEGBIT, mirroring OPTION_BIT and OPT_BIT.
> OPT_NEGBIT can be used together with OPT_BIT to define two options
> that cancel each other out.

Nice, this neatly fixes the problem with --no-no-empty-directory in "ls-files" discussed here:

  http://article.gmane.org/gmane.comp.version-control.git/112607
We just need this patch on top of René's 1/5:
-- >8 --
Subject: [PATCH] ls-files: make --no-empty-directory properly negatable

This option was specified to parseopt as an OPT_BIT; however, we actually want to _set_ the bit on --no-empty-directory. Thus the existing implementation used --no-empty-directory, and required --no-no-empty-directory to negate it.

Now that OPT_NEGBIT exists, we can properly support it as --empty-directory and --no-empty-directory (but of course still defaulting to showing empty directories).

Signed-off-by: Jeff King <peff@peff.net>
---
 builtin-ls-files.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin-ls-files.c b/builtin-ls-files.c
index da2daf4..3d59b0e 100644
--- a/builtin-ls-files.c
+++ b/builtin-ls-files.c
@@ -454,7 +454,7 @@ int cmd_ls_files(int argc, const char **argv, const char *prefix)
 		OPT_BIT(0, "directory", &dir.flags,
 			"show 'other' directories' name only",
 			DIR_SHOW_OTHER_DIRECTORIES),
-		OPT_BIT(0, "no-empty-directory", &dir.flags,
+		OPT_NEGBIT(0, "empty-directory", &dir.flags,
 			"don't show empty directories",
 			DIR_HIDE_EMPTY_DIRECTORIES),
 		OPT_BOOLEAN('u', "unmerged", &show_unmerged,
-- 
1.6.3.201.g5d2a4.dirty
Previous: René ScharfeNext: René Scharfe
Message 3 of 10 in “grep parseopt conversion”
  1. 0/5 grep parseopt conversionRené Scharfe, May 7, 2009
  2. 1/5 parseopt: add OPT_NEGBITRené Scharfe, May 7, 2009
  3. Jeff KingMay 8, 2009
  4. 2/5 parseopt: add OPT_NUMBER_CALLBACKRené Scharfe, May 7, 2009
  5. 3/5 parseopt: add PARSE_OPT_NODASHRené Scharfe, May 7, 2009
  6. 4/5 grep: remove global variable builtin_grepRené Scharfe, May 7, 2009
  7. 5/5 grep: use parseoptRené Scharfe, May 7, 2009
  8. Stephen BoydMay 16, 2009
  9. René ScharfeMay 17, 2009
  10. grep: make callback functions staticRené Scharfe, May 20, 2009

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.