From 5410a02ab9e6a1987147724f8ea65e6a077b3832 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 6 Nov 2007 12:23:14 -0800 Subject: [PATCH] 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 --- builtin-rev-parse.c | 4 ++-- git.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/builtin-rev-parse.c b/builtin-rev-parse.c index 054519bf28..d1038a0e66 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 4e10581101..b843da4d42 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 },