Re: [PATCH v2] Make git_dir a path relative to work_tree in setup_work_tree()
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jun 19, 2008, 14:11 UTC
- Message-ID
- <alpine.DEB.1.00.0806191510060.6439@racer>
- In-Reply-To
- <alpine.LNX.1.00.0806182327090.19665@iabervon.org>
Hi,
On Wed, 18 Jun 2008, Daniel Barkalow wrote:
Show 8 quoted lines
> 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.
Show 6 quoted lines
> - 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