From: Karthik Nayak Date: Thu, 05 Mar 2015 10:56:07 GMT Subject: [PATCH v2 1/2] git: make "git -C '' " not to barf Message-ID: <1425552967-22091-1-git-send-email-karthik.188@gmail.com> It now acts like "cd ''" and does not barf and treats it as a no-op, this is usefull if a caller function does not want to change directory and hence gives no path value, which would have generally caused git to output an undesired error message. Signed-off-by: Karthik Nayak --- git.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/git.c b/git.c index 8c7ee9c..ea92a64 100644 --- a/git.c +++ b/git.c @@ -204,10 +204,14 @@ 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) + ; /* Ignore "" as a directory */ + else { + if (chdir((*argv)[1])) + die_errno("Cannot change to '%s'", (*argv)[1]); + if (envchanged) + *envchanged = 1; + } (*argv)++; (*argc)--; } else { -- 2.3.1.167.g7f4ba4b.dirty