diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2021-07-24 22:06:53 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-07-26 12:17:16 -0700 |
commit | e394a16023cbb62784e380f70ad8a833fb960d68 (patch) | |
tree | b358bbb33958aa3caadb72d35150d68b37733014 /t/helper/test-dir-iterator.c | |
parent | Use a better name for the function interpolating paths (diff) | |
download | tgif-e394a16023cbb62784e380f70ad8a833fb960d68.tar.xz |
interpolate_path(): allow specifying paths relative to the runtime prefix
Ever since Git learned to detect its install location at runtime, there
was the slightly awkward problem that it was impossible to specify paths
relative to said location.
For example, if a version of Git was shipped with custom SSL
certificates to use, there was no portable way to specify
`http.sslCAInfo`.
In Git for Windows, the problem was "solved" for years by interpreting
paths starting with a slash as relative to the runtime prefix.
However, this is not correct: such paths _are_ legal on Windows, and
they are interpreted as absolute paths in the same drive as the current
directory.
After a lengthy discussion, and an even lengthier time to mull over the
problem and its best solution, and then more discussions, we eventually
decided to introduce support for the magic sequence `%(prefix)/`. If a
path starts with this, the remainder is interpreted as relative to the
detected (runtime) prefix. If built without runtime prefix support, Git
will simply interpolate the compiled-in prefix.
If a user _wants_ to specify a path starting with the magic sequence,
they can prefix the magic sequence with `./` and voilĂ , the path won't
be expanded.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/helper/test-dir-iterator.c')
0 files changed, 0 insertions, 0 deletions