Thread (10 messages) flat view 10 messages, 3 authors, 2017-02-17

Re: [PATCH] rev-parse --git-path: fix output when running in a subdirectory

From: Mike Rappazzo <hidden>
Date: 2017-02-09 14:18:50

On Thu, Feb 9, 2017 at 4:48 AM, Duy Nguyen [off-list ref] wrote:
On Wed, Feb 8, 2017 at 7:17 PM, Johannes Schindelin
[off-list ref] wrote:
quoted
In addition to making git_path() aware of certain file names that need
to be handled differently e.g. when running in worktrees, the commit
557bd833bb (git_path(): be aware of file relocation in $GIT_DIR,
2014-11-30) also snuck in a new option for `git rev-parse`:
`--git-path`.

On the face of it, there is no obvious bug in that commit's diff: it
faithfully calls git_path() on the argument and prints it out, i.e. `git
rev-parse --git-path <filename>` has the same precise behavior as
calling `git_path("<filename>")` in C.

The problem lies deeper, much deeper. In hindsight (which is always
unfair), implementing the .git/ directory discovery in
`setup_git_directory()` by changing the working directory may have
allowed us to avoid passing around a struct that contains information
about the current repository, but it bought us many, many problems.
Relevant thread in the past [1] which fixes both --git-path and
--git-common-dir. I think the author dropped it somehow (or forgot
about it, I know I did). Sorry can't comment on that thread, or this
patch, yet.
I didn't exactly forget it (I have it sitting in a branch), I wasn't
sure what else was needed (from a v5 I guess), so it has stagnated.

There was also another patch [1] at the time done by SZEDER Gábor
trying to speed up the completion scripts by adding `git rev-parse
--absolute-git-dir` option to deal with this case as well.
[1] http://public-inbox.org/git/1464261556-89722-1-git-send-email-rappazzo@gmail.com/
--
Duy
[1] http://public-inbox.org/git/20170203024829.8071-16-szeder.dev@gmail.com/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help