Re: [PATCH] git-init: set core.worktree if GIT_WORK_TREE is specified
- From
Johannes Sixt <j.sixt@eudaptics.com>
- Date
- Jul 4, 2007, 10:41 UTC
- Message-ID
- <468B793D.53661D60@eudaptics.com>
- In-Reply-To
- <20070704092915.GA18597@moooo.ath.cx>
Matthias Lederhofer wrote:
Show 14 quoted lines
>
> > + 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?
>
> Additionally there are other places which need to check if some user
> supplied path is absolute. Should we have a macro/function for that
> which depends on the os and checks for path[0] = '/' on unix and
> perhaps path[1] = ':' on windows?I've modified some places (that check for an absolute path) in the MinGW port to read (path[0] == '/' || path[1] == ':'). I don't think that it's necessary that you cater for this case in your code - I'll take care of it in the MinGW port. Of course, a hint that there is another place to watch out for, or even better a test case in t/, is most appreciated.
I still hope to find some time to rework the MinGW port. Then such details will be hidden behind a is_path_absolute() function. Or maybe getcwd_or_die() ;)
-- Hannes