Re: [BUG] git_path() returns relative paths

2013-07-28 Thread Ramkumar Ramachandra
Duy Nguyen wrote: > How about something like this as a workaround for emacs? Even if we do manage to patch Emacs now, we still need to support older versions: so yeah, this is an urgent candidate for maint. I'm waiting for the word from Emacs-Devel before writing out a commit message. -- To unsub

Re: [BUG] git_path() returns relative paths

2013-07-28 Thread Ramkumar Ramachandra
Duy Nguyen wrote: > In the no-submodules symlink test case, the path given to the editor > is .git/COMMIT_EDITMSG, no following ".." back in the symlink target. Thanks, and sorry about the stupidity. I just patched builtin/commit.c to check this. > This bug can be reproduced without git involved

Re: [BUG] git_path() returns relative paths

2013-07-28 Thread Duy Nguyen
On Sun, Jul 28, 2013 at 3:49 PM, Ramkumar Ramachandra wrote: > Duy Nguyen wrote: >> I think instead of letting the kernel walk the path, emacs does it by >> itself. > > If this were true, shouldn't we be able to reproduce the behavior with > my no-submodules symlink testcase? How can it resolve s

Re: [BUG] git_path() returns relative paths

2013-07-28 Thread Ramkumar Ramachandra
Duy Nguyen wrote: > I think instead of letting the kernel walk the path, emacs does it by > itself. If this were true, shouldn't we be able to reproduce the behavior with my no-submodules symlink testcase? How can it resolve symlinks in one case, and not in the other case? -- To unsubscribe from

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Duy Nguyen
On Sat, Jul 27, 2013 at 09:35:40PM +0530, Ramkumar Ramachandra wrote: > Duy Nguyen wrote: > > I was involved with this code (the gitdir setup code, not submodule) > > and am interested to know what's going on too. Could you produce a > > small script to reproduce it? > > Here's your reduced testca

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Duy Nguyen
On Sat, Jul 27, 2013 at 11:05 PM, Ramkumar Ramachandra wrote: > Here's your reduced testcase. Just point mygit to a HEAD build. > > #!/bin/sh > > mygit=~/src/git/git > cd /tmp > $mygit clone https://github.com/artagnon/clayoven > cd clayoven > $mygit submodule add https://github.com/le

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Ramkumar Ramachandra
Jiang Xin wrote: > I change the EDITOR(GIT_EDITOR) environment in your test script > as follows: > > GIT_EDITOR="echo PWD: $(pwd); echo REALPATH: $(pwd -P); echo" \ > git commit --amend See, what stumps be about this is the no-submodule case: #!/bin/sh mygit=~/src/git/git cd /tmp

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Jiang Xin
2013/7/28 Ramkumar Ramachandra : > Duy Nguyen wrote: >> I was involved with this code (the gitdir setup code, not submodule) >> and am interested to know what's going on too. Could you produce a >> small script to reproduce it? > > Here's your reduced testcase. Just point mygit to a HEAD build. > >

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Ramkumar Ramachandra
Duy Nguyen wrote: > I was involved with this code (the gitdir setup code, not submodule) > and am interested to know what's going on too. Could you produce a > small script to reproduce it? Here's your reduced testcase. Just point mygit to a HEAD build. #!/bin/sh mygit=~/src/git/git cd /tm

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Duy Nguyen
On Sat, Jul 27, 2013 at 9:33 PM, Ramkumar Ramachandra wrote: > Duy Nguyen wrote: >> 044bbbc (Make git_dir a path relative to work_tree in >> setup_work_tree() - 2008-06-19) > > Okay, so it does seem to be a significant optimization. Frankly, > e02ca72 only improves the relative_path() algorithm,

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Ramkumar Ramachandra
Duy Nguyen wrote: > 044bbbc (Make git_dir a path relative to work_tree in > setup_work_tree() - 2008-06-19) Okay, so it does seem to be a significant optimization. Frankly, e02ca72 only improves the relative_path() algorithm, and it's not really doing anything Wrong: it's has just uncovered a pre

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Ramkumar Ramachandra
Fredrik Gustafsson wrote: > When I hear submodules The only reason this bug has something to do with submodules is because of the relative path in the gitfile (although I'm yet to corner the exact issue). Otherwise, it doesn't exercise any new code in submodule.c/ git-submodule.sh. -- To unsubscr

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Duy Nguyen
On Sat, Jul 27, 2013 at 7:31 PM, Ramkumar Ramachandra wrote: > Ramkumar Ramachandra wrote: >> e02ca72 (path.c: refactor relative_path(), not only strip prefix, >> 2013-06-25) is the offender. > > The problem is the callsite in setup.c:setup_work_tree(). When > relative_path() is called with > "/ho

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Ramkumar Ramachandra
Ramkumar Ramachandra wrote: > e02ca72 (path.c: refactor relative_path(), not only strip prefix, > 2013-06-25) is the offender. The problem is the callsite in setup.c:setup_work_tree(). When relative_path() is called with "/home/artagnon/dotfiles/.git/modules/.elisp/flx" and "/home/artagnon/dotfile

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Fredrik Gustafsson
On Sat, Jul 27, 2013 at 04:40:12PM +0530, Ramkumar Ramachandra wrote: > Hi, > > I noticed a regression in the latest master, and I've been trying to > debug it for 30 minutes now. I'm still clueless about the root cause, > but I'll list whatever I found so far: > > I suddenly noticed that I wasn

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Ramkumar Ramachandra
Ramkumar Ramachandra wrote: > *scratches head* Just took a much-needed shower and came back. It was trivial to find. $ git log v1.8.3.4.. -- path.c e02ca72 (path.c: refactor relative_path(), not only strip prefix, 2013-06-25) is the offender. -- To unsubscribe from this list: send the line "u

Re: [BUG] git_path() returns relative paths

2013-07-27 Thread Duy Nguyen
On Sat, Jul 27, 2013 at 6:10 PM, Ramkumar Ramachandra wrote: > I tried looking through the logs to see what has changed in > path.c/environment.c, but have come up with nothing so far. I think > I'll have to resort to using a hammer like bisect now. > > *scratches head* Try bisect with GIT_TRACE

[BUG] git_path() returns relative paths

2013-07-27 Thread Ramkumar Ramachandra
Hi, I noticed a regression in the latest master, and I've been trying to debug it for 30 minutes now. I'm still clueless about the root cause, but I'll list whatever I found so far: I suddenly noticed that I wasn't able to commit to a certain repository with submodules anymore. This was because