From: Johan Herland <hidden> Date: 2016-06-15 22:54:51
The following works in the git.git repo:
$ cd t
$ git log -- /Documentation
[...]
but the following does not:
$ cd t
$ git log -- /Documentation/RelNotes
fatal: Could not switch to '/Documentation': No such file or directory
Is this the intended behavior?
...Johan
--
Johan Herland, [off-list ref]
www.herland.net
On Mon, Sep 24, 2012 at 6:59 PM, Johan Herland [off-list ref] wrote:
The following works in the git.git repo:
$ cd t
$ git log -- /Documentation
[...]
What version? Mine (recent master) does not work
~/w/git/t $ ../git log -- /Documentation
fatal: '/Documentation' is outside repository
but the following does not:
$ cd t
$ git log -- /Documentation/RelNotes
fatal: Could not switch to '/Documentation': No such file or directory
Is this the intended behavior?
From: Johan Herland <hidden> Date: 2016-06-15 22:54:51
On Mon, Sep 24, 2012 at 2:22 PM, Nguyen Thai Ngoc Duy [off-list ref] wrote:
On Mon, Sep 24, 2012 at 6:59 PM, Johan Herland [off-list ref] wrote:
quoted
The following works in the git.git repo:
$ cd t
$ git log -- /Documentation
[...]
What version? Mine (recent master) does not work
~/w/git/t $ ../git log -- /Documentation
fatal: '/Documentation' is outside repository
We initially found it on 1.7.9.5, and conrfirmed it on various 1.7.10
versions. A bisect reveals that this behavior changed in
v1.7.11.5-35-gf4c21e8 (Michael Haggerty: real_path(): properly handle
nonexistent top-level paths).
Does this mean that "git log -- /Documentation" never should have
worked in the first place (and was "fixed" by this commit), or that it
should work (but was broken by this commit)?
In any case, what is the _preferred_ way to path-limit "git log" to
Documentation/RelNotes, when my cwd is t/?
Thanks for your help,
...Johan
quoted
but the following does not:
$ cd t
$ git log -- /Documentation/RelNotes
fatal: Could not switch to '/Documentation': No such file or directory
Is this the intended behavior?
On Mon, Sep 24, 2012 at 8:16 PM, Johan Herland [off-list ref] wrote:
On Mon, Sep 24, 2012 at 2:22 PM, Nguyen Thai Ngoc Duy [off-list ref] wrote:
quoted
On Mon, Sep 24, 2012 at 6:59 PM, Johan Herland [off-list ref] wrote:
quoted
The following works in the git.git repo:
$ cd t
$ git log -- /Documentation
[...]
What version? Mine (recent master) does not work
~/w/git/t $ ../git log -- /Documentation
fatal: '/Documentation' is outside repository
We initially found it on 1.7.9.5, and conrfirmed it on various 1.7.10
versions. A bisect reveals that this behavior changed in
v1.7.11.5-35-gf4c21e8 (Michael Haggerty: real_path(): properly handle
nonexistent top-level paths).
OK checking. I still don't know why it does not happen to me. Any
special in gitdir/worktree setting? That commit is in master.
Does this mean that "git log -- /Documentation" never should have
worked in the first place (and was "fixed" by this commit), or that it
should work (but was broken by this commit)?
I think that should mean Documentation at root. "git log -- `chdir
../Documentation;pwd`" works and that clearly conflicts with
interpreting "/Documentation" as the directory at worktree's root.
In any case, what is the _preferred_ way to path-limit "git log" to
Documentation/RelNotes, when my cwd is t/?
If you want worktree root no matter where you stand, use "git log --
:/Documentation/RelNotes". The idea is ":" starts some "magic" in path
handling, but for now there is only ":/". Or if you don't like magic,
`git rev-parse --git-dir` should give you worktree's root to start
with.
--
Duy
From: Johan Herland <hidden> Date: 2016-06-15 22:54:51
On Mon, Sep 24, 2012 at 3:30 PM, Nguyen Thai Ngoc Duy [off-list ref] wrote:
quoted
In any case, what is the _preferred_ way to path-limit "git log" to
Documentation/RelNotes, when my cwd is t/?
If you want worktree root no matter where you stand, use "git log --
:/Documentation/RelNotes". The idea is ":" starts some "magic" in path
handling, but for now there is only ":/". Or if you don't like magic,
`git rev-parse --git-dir` should give you worktree's root to start
with.
Ah, ok, that's exactly what I wanted. Then I guess "cd t && git log --
/Documentation" should have never worked in the first place, and I
question about "git log -- /Documentation/RelNotes" was misguided.
Thanks for clearing up my confusion.
...Johan
--
Johan Herland, [off-list ref]
www.herland.net
From: Johan Herland <hidden> Date: 2016-06-15 22:54:51
On Mon, Sep 24, 2012 at 3:39 PM, Nguyen Thai Ngoc Duy [off-list ref] wrote:
On Mon, Sep 24, 2012 at 8:30 PM, Nguyen Thai Ngoc Duy [off-list ref] wrote:
quoted
Any special in gitdir/worktree setting?
What does "GIT_TRACE_SETUP=1 git log -- /Documentation" show?
FWIW, this issue is resolved as far as I'm concerned. I was simply
using the wrong syntax...
Anyway, with current master:
$ GIT_TRACE_SETUP=1 ../git log -1 -- /Documentation
setup: git_dir: .git
setup: worktree: /home/jherland/git/git
setup: cwd: /home/jherland/git/git
setup: prefix: t/
fatal: '/Documentation' is outside repository
With v1.7.11:
$ GIT_TRACE_SETUP=1 ../git log -1 -- /Documentation
setup: git_dir: .git
setup: worktree: /home/jherland/git/git
setup: cwd: /home/jherland/git/git
setup: prefix: t/
commit 0ce2e396ee9fb0fa07e8381b338e49859dbf03db
Author: Junio C Hamano [off-list ref]
Date: Sun Jun 17 14:07:15 2012 -0700
Git 1.7.11
Signed-off-by: Junio C Hamano [off-list ref]
...Johan
--
Johan Herland, [off-list ref]
www.herland.net