Thread (4 messages) flat view 4 messages, 2 authors, 2016-06-15

Re: [PATCH v2] Make git_dir a path relative to work_tree in setup_work_tree()

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:44:47

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help