From 6a536e2076f02a98e0d6403ff68f3acf717fa1c4 Mon Sep 17 00:00:00 2001 From: Karthik Nayak Date: Fri, 6 Mar 2015 16:48:08 +0530 Subject: git: treat "git -C ''" as a no-op when is empty 'git -C ""' unhelpfully dies with error "Cannot change to ''", whereas the shell treats `cd ""' as a no-op. Taking the shell's behavior as a precedent, teach git to treat `-C ""' as a no-op, as well. Helped-by: Junio C Hamano Helped-by: Eric Sunshine Signed-off-by: Karthik Nayak Signed-off-by: Junio C Hamano --- git.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'git.c') diff --git a/git.c b/git.c index 6b5ae6a2ac..fdea110407 100644 --- a/git.c +++ b/git.c @@ -204,10 +204,12 @@ static int handle_options(const char ***argv, int *argc, int *envchanged) fprintf(stderr, "No directory given for -C.\n" ); usage(git_usage_string); } - if (chdir((*argv)[1])) - die_errno("Cannot change to '%s'", (*argv)[1]); - if (envchanged) - *envchanged = 1; + if ((*argv)[1][0]) { + if (chdir((*argv)[1])) + die_errno("Cannot change to '%s'", (*argv)[1]); + if (envchanged) + *envchanged = 1; + } (*argv)++; (*argc)--; } else { -- cgit v1.2.3