Move code interpreting path relative to exec-dir to new function system_path()
authorSteffen Prohaska <prohaska@zib.de>
Sun, 13 Jul 2008 20:31:18 +0000 (22:31 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sun, 13 Jul 2008 21:41:28 +0000 (14:41 -0700)
commit2de9de5e4ae1353f1552f61cf8cf532e3f1dc5f6
treeaa862fe50c73cb0f8cff6b717423388ca3cffc5c
parenta9a3e82e6d0018ff42ec11fd9560c1ff47add824
Move code interpreting path relative to exec-dir to new function system_path()

Expanding system paths relative to git_exec_path can be used for
creating an installation that can be moved to a different directory
without re-compiling.  We use this approach for template_dir and the
system wide gitconfig.  The Windows installer (msysgit) is an example
for such a setup.

This commit moves common code to a new function system_path().  System
paths that are to be interpreted relative to git_exec_path are passed to
system_path() and the return value is used instead of the original path.
system_path() prefixes a relative path with git_exec_path and leaves
absolute paths unmodified.  For example, we now write

    template_dir = system_path(DEFAULT_GIT_TEMPLATE_DIR);

[j6t: moved from path.c to exec_cmd.c]

Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-init-db.c
config.c
exec_cmd.c
exec_cmd.h