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

[PATCH 1/2] builtins: do not commit pager choice early

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Mar 25, 2010, 13:38 UTC
Message-ID
<1269524295-24569-1-git-send-email-pclouds@gmail.com>
From: Duy Nguyen <pclouds@gmail.com>

Committing pager choice may require setting up the pager, which will need access to repository.

At the time after handle_options() is called, the repository has not been found yet. As a result, unallowed access to repository may happen.

There are several possible code path after handle_options()/commit_pager_choice() is called:

1. list_common_cmds_help()
2. run_argv()
3. help_unknown_cmd()

Case 2. will have commit_pager_choice() called inside run_builtin() if a command is found. Case 1. and 3. won't need a pager, it's short printout and should be fitted within a screen. So, removing commit_pager_choice() call after handle_options() is safe.

Signed-off-by: Duy Nguyen <pclouds@gmail.com>
---
 On top of nd/setup. This may help fix the breakage in t7006. And forget t9100
 breakage I mentioned elsewhere. My system is broken, git-svn dies when it "exit 0;"
 and even git one year ago does not fix it.
 git.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/git.c b/git.c
index 3798791..bd1d4bb 100644
--- a/git.c
+++ b/git.c
@@ -514,7 +514,6 @@ int main(int argc, const char **argv)
 	argv++;
 	argc--;
 	handle_options(&argv, &argc, NULL);
-	commit_pager_choice();
 	if (argc > 0) {
 		if (!prefixcmp(argv[0], "--"))
 			argv[0] += 2;
-- 
1.7.0.rc1.541.g2da82.dirty
Next: Nguyễn Thái Ngọc Duy
Message 1 of 4 in “builtins: do not commit pager choice early”
  1. 1/2 builtins: do not commit pager choice earlyNguyễn Thái Ngọc Duy, Mar 25, 2010
  2. 2/2 builtins: setup repository before print unknown command errorNguyễn Thái Ngọc Duy, Mar 25, 2010
  3. Jonathan NiederMar 26, 2010
  4. Jonathan NiederMar 26, 2010

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.