threads / patch / 38689

patchgit: make "git -C '' <cmd>" not to barf

Subject: [PATCH] git: make "git -C '' <cmd>" not to barf

## tl;dr

4 messages between Mar 3, 2015 and Mar 4, 2015. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Karthik Nayak· Mar 3, 2015, 15:41 UTC · lore
now it works like cd "" which silently succeeds
Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
---
 git.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Show changes to git.c +3 −1
diff --git a/git.c b/git.c
index 8c7ee9c..f4c2285 100644
--- a/git.c
+++ b/git.c
@@ -204,7 +204,9 @@ 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]))
+			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;
-- 
2.3.1.167.g7f4ba4b.dirty
Matthieu Moy· Mar 3, 2015, 16:22 UTC · re: Karthik Nayak · lore

Re: [PATCH] git: make "git -C '' <cmd>" not to barf

Karthik Nayak <karthik.188@gmail.com> writes:
> now it works like cd "" which silently succeeds
Missing "." at end of sentence.
>  git.c | 4 +++-
That would probably also deserve a test.
-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Junio C Hamano· Mar 3, 2015, 18:00 UTC · re: Matthieu Moy · lore

Re: [PATCH] git: make "git -C '' <cmd>" not to barf

On Tue, Mar 3, 2015 at 8:22 AM, Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> wrote:

Show 5 quoted lines
> Karthik Nayak <karthik.188@gmail.com> writes:
>
>> now it works like cd "" which silently succeeds
>
> Missing "." at end of sentence.
And lack of capitalization at the beginning.

More importantly, lack of justification--why is it a good idea to make "it works like cd ''" in the first place?

>
>>  git.c | 4 +++-
>
> That would probably also deserve a test.

Another "huh?" I had on the actual code was if this counts as "envchanged", if you are not actually changing the directory at all.

Is this meant as a "micro" for GSoC, by the way?
Karthik Nayak· Mar 4, 2015, 08:41 UTC · re: Junio C Hamano · lore

Re: [PATCH] git: make "git -C '' <cmd>" not to barf

On March 3, 2015 11:30:13 PM GMT+05:30, Junio C Hamano <gitster@pobox.com> wrote:
Show 9 quoted lines
>On Tue, Mar 3, 2015 at 8:22 AM, Matthieu Moy
><Matthieu.Moy@grenoble-inp.fr> wrote:
>> Karthik Nayak <karthik.188@gmail.com> writes:
>>
>>> now it works like cd "" which silently succeeds
>>
>> Missing "." at end of sentence.
>
>And lack of capitalization at the beginning.
Yes, noted, Will fix with next patch.
Show 8 quoted lines
>
>More importantly, lack of justification--why is it a good idea to make
>"it works like cd ''" in the first place?
>
>>
>>>  git.c | 4 +++-
>>
>> That would probably also deserve a test.
Will include a patch with next patch version.
Show 6 quoted lines
>
>Another "huh?" I had on the actual code was if this counts as
>"envchanged", if
>you are not actually changing the directory at all.
>
>Is this meant as a "micro" for GSoC, by the way?

Yes, it's meant for GSoC. I did overlook that. Will fix in next patch version. Thanks for your suggestions

← back to recent threads