Hi,
On Wed, 18 Jun 2008, Daniel Barkalow wrote:
quoted hunk ↗ jump to hunk
diff --git a/setup.c b/setup.c
index d630e37..1643ee4 100644
--- a/setup.c
+++ b/setup.c
@@ -292,7 +292,8 @@ void setup_work_tree(void)
work_tree = get_git_work_tree();
git_dir = get_git_dir();
if (!is_absolute_path(git_dir))
I suspect it needs "work_tree &&" here.
- set_git_dir(make_absolute_path(git_dir));
+ set_git_dir(make_relative_path(make_absolute_path(git_dir),
+ work_tree));
if (!work_tree || chdir(work_tree))
die("This operation must be run in a work tree");
initialized = 1;
All in all I am pretty surprised how easy it was. I tried yesterday, for
half an hour, to come up with something sensible, and failed.
Thanks,
Dscho