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

[RFC PATCH 3/5] fast-import: check most prominent commands first

From
Elijah Newren <newren@gmail.com>
Date
Feb 20, 2019, 22:58 UTC
Message-ID
<20190220225846.10658-4-newren@gmail.com>
In-Reply-To
<20190220225846.10658-1-newren@gmail.com>

This is not a very important change, and one that I expect to have no performance impact whatsoever, but reading the code bothered me. The parsing of command types in cmd_main() mostly runs in order of most common to least common commands; sure, it's hard to say for sure what the most common are without some type of study, but it seems fairly clear to mark the original four ("blob", "commit", "tag", "reset") as the most prominent. Indeed, the parsing for most other commands were added to later in the list. However, when "ls" was added, it was stuck near the top of the list, with no rationale for that particular location. Move it down to later to appease my Tourette's-like internal twitching that its former location was causing.

Signed-off-by: Elijah Newren <newren@gmail.com>
---
 fast-import.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fast-import.c b/fast-import.c
index b7ba755c2b..3114ce17f1 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -3303,14 +3303,14 @@ int cmd_main(int argc, const char **argv)
 		const char *v;
 		if (!strcmp("blob", command_buf.buf))
 			parse_new_blob();
-		else if (skip_prefix(command_buf.buf, "ls ", &v))
-			parse_ls(v, NULL);
 		else if (skip_prefix(command_buf.buf, "commit ", &v))
 			parse_new_commit(v);
 		else if (skip_prefix(command_buf.buf, "tag ", &v))
 			parse_new_tag(v);
 		else if (skip_prefix(command_buf.buf, "reset ", &v))
 			parse_reset_branch(v);
+		else if (skip_prefix(command_buf.buf, "ls ", &v))
+			parse_ls(v, NULL);
 		else if (!strcmp("checkpoint", command_buf.buf))
 			parse_checkpoint();
 		else if (!strcmp("done", command_buf.buf))
-- 
2.21.0.rc2.5.g8f70af2367
Previous: Elijah NewrenNext: Elijah Newren
Message 4 of 15 in “Fix some fast-import parsing issues”
  1. 0/5 Fix some fast-import parsing issuesElijah Newren, Feb 20, 2019
  2. 5/5 fast-import: fix erroneous handling of get-mark with empty orphan commitsElijah Newren, Feb 20, 2019
  3. 2/5 git-fast-import.txt: fix wording about where ls command can appearElijah Newren, Feb 20, 2019
  4. 3/5 fast-import: check most prominent commands firstElijah Newren, Feb 20, 2019
  5. 4/5 fast-import: only allow cat-blob requests where it makes senseElijah Newren, Feb 20, 2019
  6. 1/5 t9300: demonstrate bug with get-mark and empty orphan commitsElijah Newren, Feb 20, 2019
  7. Elijah NewrenMar 8, 2019
  8. Junio C HamanoApr 1, 2019
  9. Elijah NewrenApr 1, 2019
  10. 0/5 Fix some fast-import parsing issuesElijah Newren, Apr 1, 2019
  11. 1/5 t9300: demonstrate bug with get-mark and empty orphan commitsElijah Newren, Apr 1, 2019
  12. 5/5 fast-import: fix erroneous handling of get-mark with empty orphan commitsElijah Newren, Apr 1, 2019
  13. 3/5 fast-import: check most prominent commands firstElijah Newren, Apr 1, 2019
  14. 4/5 fast-import: only allow cat-blob requests where it makes senseElijah Newren, Apr 1, 2019
  15. 2/5 git-fast-import.txt: fix wording about where ls command can appearElijah Newren, Apr 1, 2019

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.