Thread (1 message) 1 message, 1 author, 2022-07-18

Re: [PATCH v4 1/8] help.c: BUG() out if "help --guides" can't remove "git" prefixes

From: Junio C Hamano <hidden>
Date: 2022-07-18 17:03:15

Ævar Arnfjörð Bjarmason  [off-list ref] writes:
Adjust code added in 929d9192828 (git docs: split "User-facing file
formats" off from "Guides", 2021-06-04) to be more strict about the
prefix trimming of the "guides" category.

There are no guides in the command-list.txt that don't start with
"git", and we're unlikely to ever add any, if we do we can remove this
BUG() invocation, but in the meantime this makes the intent more
clear.
The observation is good.
 	if (skip_prefix(name, "git-", &new_name))
 		return new_name;
-	if (category == CAT_guide && skip_prefix(name, "git", &new_name))
+	switch (category)
+	{
+	case CAT_guide:
+		if (!skip_prefix(name, "git", &new_name))
+			BUG("category #%d but no 'git' prefix?", category);
 		return new_name;
+	}
 	return name;
-
 }
If we were to use "switch", can we have the opening brace on the
same line, like all other switch statements?

I suspect that we should avoid losing information, perhaps the most
straight-forward implementation would be without "switch", like so

	if (category == CAT_guide) {
		if (skip_prefix(name, "git", &new_name))
			return new_name;
		BUG("CAT_guide category but no 'git' prefix? '%s'", name);
	}
	return name;

even if we plan to add more categories that would remove the prefix
and we insist the prefix to be there?
 static void extract_cmds(struct cmdname_help **p_cmds, uint32_t mask)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help