From: Nguyễn Thái Ngọc Duy Date: Thu, 25 Mar 2010 13:38:14 GMT Subject: [PATCH 1/2] builtins: do not commit pager choice early Message-ID: <1269524295-24569-1-git-send-email-pclouds@gmail.com> From: Duy Nguyen 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 --- 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