From: Junio C Hamano Date: Tue, 6 Nov 2007 20:23:14 +0000 (-0800) Subject: git-rev-parse --parseopt X-Git-Tag: v1.5.4-rc0~190^2~5 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=5410a02ab9e6a1987147724f8ea65e6a077b3832;p=git.git git-rev-parse --parseopt The "parseopt mode" of git-rev-parse does not need to be run inside a git repository, although the normal mode does. Most notabily, lack of this fix breaks git-clone script, as noticed by Nico. Signed-off-by: Junio C Hamano --- diff --git a/builtin-rev-parse.c b/builtin-rev-parse.c index 054519bf2..d1038a0e6 100644 --- a/builtin-rev-parse.c +++ b/builtin-rev-parse.c @@ -337,11 +337,11 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) int i, as_is = 0, verify = 0; unsigned char sha1[20]; - git_config(git_default_config); - if (argc > 1 && !strcmp("--parseopt", argv[1])) return cmd_parseopt(argc - 1, argv + 1, prefix); + prefix = setup_git_directory(); + git_config(git_default_config); for (i = 1; i < argc; i++) { const char *arg = argv[i]; diff --git a/git.c b/git.c index 4e1058110..b843da4d4 100644 --- a/git.c +++ b/git.c @@ -343,7 +343,7 @@ static void handle_internal_command(int argc, const char **argv) { "rerere", cmd_rerere, RUN_SETUP }, { "reset", cmd_reset, RUN_SETUP }, { "rev-list", cmd_rev_list, RUN_SETUP }, - { "rev-parse", cmd_rev_parse, RUN_SETUP }, + { "rev-parse", cmd_rev_parse }, { "revert", cmd_revert, RUN_SETUP | NEED_WORK_TREE }, { "rm", cmd_rm, RUN_SETUP | NEED_WORK_TREE }, { "runstatus", cmd_runstatus, RUN_SETUP | NEED_WORK_TREE },