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 <karthik.188@xxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html