Thread (5 messages) flat view 5 messages, 4 authors, 2016-06-15

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

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:19

Hi,

On Wed, 4 Jul 2007, Johannes Sixt wrote:
Matthias Lederhofer wrote:
quoted
quoted
+     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() ;)
Yes, but why not start early? is_path_absolute() makes perfect sense.

However, I was asking (out of lack of knowledge): is there any way 
getcwd() does not return an absolute path?

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help