Re: [PATCH 11/11] Allow ETC_GITCONFIG to be a relative path.
- From
Steffen Prohaska <prohaska@zib.de>
- Date
- Nov 15, 2007, 20:10 UTC
- Message-ID
- <E652EC54-9F94-444F-AF94-2FA990355A78@zib.de>
- In-Reply-To
- <200711151931.29029.johannes.sixt@telecom.at>
On Nov 15, 2007, at 7:31 PM, Johannes Sixt wrote:
Show 14 quoted lines
> On Thursday 15 November 2007 07:53, Steffen Prohaska wrote: >> Now I'm wondering if we could make path relocation a bit more >> explicit. How about doing something like. >> >> system_wide = relocate_path(ETC_GITCONFIG); >> >> and relocate_path(const char *) would expand a format >> string in path. At this point I see only a single %s >> that would be expanded with the install prefix. If >> ETC_GITCONFIG is "%s/etc/gitconfig" relocate path will return >> "C:/msysgit/bin/etc/gitconfig" for my above example. It is >> basically a printf with the install prefix path. > > I don't see the problem that you are trying to solve.
Path relocation would be more explicit:
1) Paths that need to be relocated are filtered through
relocate_path(). That's easy to understand.
2) All the code prefixing the path is in relocate_path().
This avoids code duplication.
3) Path that should be relocated contain "%s" in the Makefile.
This indicates that some string expansion may take place.(1) and (2) would be useful even if you do not agree with (3). The code in PATCH 9/11 and PATCH 11/11 looks very similar. If the prefixing code went into a separate function, we'd have less code. Also, relocate_path() could be useful at other places. For example, I'd use it to locate the HTML documentation relative to the installation directory.
Steffen