Use simpler relative_path when set_git_dir
commit41894ae3a315f75ebc924881c6ce9a69d70ce9c0
authorJiang Xin <worldhello.net@gmail.com>
Mon, 14 Oct 2013 02:29:40 +0000 (14 10:29 +0800)
committerJonathan Nieder <jrnieder@gmail.com>
Mon, 14 Oct 2013 14:00:33 +0000 (14 07:00 -0700)
tree0142f9019fd20e4f9469e7b97847cbe8a12dcaee
parent7fbd422162f2b49bc06a29a063f519450165dc86
Use simpler relative_path when set_git_dir

Using a relative_path as git_dir first appears in v1.5.6-1-g044bbbc.
It will make git_dir shorter only if git_dir is inside work_tree,
and this will increase performance. But my last refactor effort on
relative_path function (commit v1.8.3-rc2-12-ge02ca72) changed that.
Always use relative_path as git_dir may bring troubles like
$gmane/234434.

Because new relative_path is a combination of original relative_path
from path.c and original path_relative from quote.c, so in order to
restore the origin implementation, save the original relative_path
as remove_leading_path, and call it in setup.c.

Suggested-by: Karsten Blees <karsten.blees@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
cache.h
path.c
setup.c