Re: [PATCH] git-init: set core.worktree if GIT_WORK_TREE is specified

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes:

> On Wed, 4 Jul 2007, Matthias Lederhofer wrote:
>
>> > +	if (!getcwd(cwd, sizeof(cwd)) || cwd[0] != '/')
>> > +		die("Unable to read current working directory");
>> 
>> Dscho just pointed out that this causes problems on windows.  The same
>> is also in setup_git_directory_gently and was there before I touched
>> it, introduced by Linus in d288a700.  What was the original reason to
>> do this?  Are there implementations of getcwd which return a relative
>> path?
>
> Just remove the check for cwd[0] being '/'.

Ok, will do this.

-- >8 --
From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 4 Jul 2007 09:23:17 -0700 (PDT)
Subject: Do not check if getcwd() result begins with a slash

It's just me being too kernel-oriented - inside the kernel, a d_path() 
return value pathname can be either a real path, or something like 
"pipe:[8003]", and the difference is the '/' at the beginning.

In user space, and for getcwd(), the check doesn't make sense. So please 
just remove it, and sorry for my idiotic "I've worked with the kernel for 
too damn long" programming mistakes.

Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Forged-signature-by: Junio C Hamano <gitster@xxxxxxxxx>

---

 setup.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/setup.c b/setup.c
index 01f74d4..bb26f3a 100644
--- a/setup.c
+++ b/setup.c
@@ -211,7 +211,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
 	if (!gitdirenv) {
 		int len, offset;
 
-		if (!getcwd(cwd, sizeof(cwd)-1) || cwd[0] != '/')
+		if (!getcwd(cwd, sizeof(cwd)-1))
 			die("Unable to read current working directory");
 
 		offset = len = strlen(cwd);
@@ -271,7 +271,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
 		die("Not a git repository: '%s'", gitdirenv);
 	}
 
-	if (!getcwd(cwd, sizeof(cwd)-1) || cwd[0] != '/')
+	if (!getcwd(cwd, sizeof(cwd)-1))
 		die("Unable to read current working directory");
 	if (chdir(gitdirenv)) {
 		if (nongit_ok) {
@@ -281,7 +281,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
 		die("Cannot change directory to $%s '%s'",
 			GIT_DIR_ENVIRONMENT, gitdirenv);
 	}
-	if (!getcwd(gitdir, sizeof(gitdir)-1) || gitdir[0] != '/')
+	if (!getcwd(gitdir, sizeof(gitdir)-1))
 		die("Unable to read current working directory");
 	if (chdir(cwd))
 		die("Cannot come back to cwd");
@@ -340,7 +340,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
 			die("Cannot change directory to working tree '%s'",
 				gitworktree);
 	}
-	if (!getcwd(worktree, sizeof(worktree)-1) || worktree[0] != '/')
+	if (!getcwd(worktree, sizeof(worktree)-1))
 		die("Unable to read current working directory");
 	strcat(worktree, "/");
 	inside_work_tree = !prefixcmp(cwd, worktree);

-
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux