Re: [PATCH] Use nonrelative paths instead of absolute paths for cloned repositories
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 6, 2008, 18:07 UTC
- Message-ID
- <7v7id2v3mw.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <alpine.DEB.1.00.0806061832330.1783@racer>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 15 quoted lines
>> In the longer term, we would inevitably face "when should one use >> nonrelative and when should one use absolute?" and we would eventually >> have to answer it. It may turn out that many current users of >> "absolute" are better off using "nonrelative", but I suspect we won't >> get rid of "absolute" completely, because one of the reasons it avoids >> symlinks at great lengths is so that it can check the containment >> relationships between paths reliably (e.g. "is this path outside the >> repository, in which case we should refuse to add it to the index, and >> we use --no-index without being asked when running "diff""). >> >> But using "absolute" for containment comparison is one thing. Storing >> the result of "absolute" is quite another. > > The easy way would be to add an option to make_absolute_path(), say > "resolve_symlinks".
I am afraid that it does not solve anything.
Be they two separate functions, or a one function that has two different semantics depending on an option, the API documentation needs to answer the "when should I use one and when should I use the other" question.
And the hard part is figuring out which of the current "absolute" callers need to be fixed in a way similar to how Daniel fixed git-clone, and which of them stay the same. Perhaps all of the "chdir then getpwd" patterns need to be looked at and some of them need to be restructured to honor $PWD better. I dunno.