Commit 9dcc79bc6a6ef9d0704e598c38e2e98cd4f41f30

Patrick Steinhardt 2017-03-15T16:35:43

worktree: use fully qualified reference name for created HEAD When creating a new worktree, we have to set up the initial data structures. Next to others, this also includes the HEAD pseudo-ref. We currently set it to the worktree respectively branch name, which is actually not fully qualified. Use the fully qualified branch name instead.

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/worktree.c b/src/worktree.c
index 13113f8..f90d822 100644
--- a/src/worktree.c
+++ b/src/worktree.c
@@ -323,7 +323,7 @@ int git_worktree_add(git_worktree **out, git_repository *repo, const char *name,
 		goto out;
 
 	/* Set worktree's HEAD */
-	if ((err = git_repository_create_head(path.ptr, name)) < 0)
+	if ((err = git_repository_create_head(path.ptr, git_reference_name(ref))) < 0)
 		goto out;
 	if ((err = git_repository_open(&wt, worktree)) < 0)
 		goto out;