Hi, On Wed, 18 Jun 2008, Daniel Barkalow wrote: > 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html