Commit 6b878db5e8f851b76ef19ffe724018cbe62b88bb

Edward Thomson 2021-03-20T16:44:08

checkout: use target path; don't assume workdir We're not necessarily checking out into the working directory. We could be checking out into an arbitrary location. Ensure that when we are writing conflict data that we do it in the checkout target.

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/checkout.c b/src/checkout.c
index ba75839..ea1a354 100644
--- a/src/checkout.c
+++ b/src/checkout.c
@@ -2032,7 +2032,7 @@ static int checkout_merge_path(
 	const char *our_label_raw, *their_label_raw, *suffix;
 	int error = 0;
 
-	if ((error = git_buf_joinpath(out, git_repository_workdir(data->repo), result->path)) < 0)
+	if ((error = git_buf_joinpath(out, data->opts.target_directory, result->path)) < 0)
 		return error;
 
 	/* Most conflicts simply use the filename in the index */