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

[PATCH] describe: bail of --contains --all is used with --exclude or --match

From
Jacob Keller <jacob.e.keller@intel.com>
Date
Feb 26, 2019, 21:53 UTC
Message-ID
<20190226215348.5119-1-jacob.e.keller@intel.com>
From: Jacob Keller <jacob.keller@gmail.com>

If you try to use git describe --contains with --all, the exclude and match patterns are silently ignored.

This results in unexpected behavior, as you may try to provide patterns and expect it to change the result.

Check for this, and have describe die when it encounters this, instead of silently ignoring the provided options.

Signed-off-by: Jacob Keller <jacob.keller@gmail.com>
---

I just found this while trying to use it, the patterns weren't being applied properly.

This is pretty quick/dirty, I haven't had time to write a test, or anything.
 builtin/describe.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/builtin/describe.c b/builtin/describe.c
index 1409cedce2fb..1bf4b6e3d0ae 100644
--- a/builtin/describe.c
+++ b/builtin/describe.c
@@ -589,6 +589,9 @@ int cmd_describe(int argc, const char **argv, const char *prefix)
 				argv_array_pushf(&args, "--refs=refs/tags/%s", item->string);
 			for_each_string_list_item(item, &exclude_patterns)
 				argv_array_pushf(&args, "--exclude=refs/tags/%s", item->string);
+		} else {
+			if (patterns.nr || exclude_patterns.nr)
+				die(_("--contains with --all does not support --match or --exclude"));
 		}
 		if (argc)
 			argv_array_pushv(&args, argv);
-- 
2.18.0.219.gaf81d287a9da
Next: Eric Sunshine
Message 1 of 4 in “describe: bail of --contains --all is used with --exclude or --match”
  1. describe: bail of --contains --all is used with --exclude or --matchJacob Keller, Feb 26, 2019
  2. Eric SunshineFeb 26, 2019
  3. Tuomas AholaMay 19, 2026
  4. Jacob KellerMay 28, 2026

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.