Skip to content

Commit 45f274f

Browse files
harry-hovgitster
authored andcommitted
get_main_worktree(): allow it to be called in the Git directory
When called in the Git directory of a non-bare repository, this function would not return the directory of the main worktree, but of the Git directory instead. The reason: when the Git directory is the current working directory, the absolute path of the common directory will be reported with a trailing `/.git/.`, which the code of `get_main_worktree()` does not handle correctly. Let's fix this. Helped-by: Johannes Schindelin <[email protected]> Signed-off-by: Hariom Verma <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent d0654dc commit 45f274f

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

worktree.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ static struct worktree *get_main_worktree(void)
5151
struct strbuf worktree_path = STRBUF_INIT;
5252

5353
strbuf_add_absolute_path(&worktree_path, get_git_common_dir());
54+
strbuf_strip_suffix(&worktree_path, "/.");
5455
if (!strbuf_strip_suffix(&worktree_path, "/.git"))
5556
strbuf_strip_suffix(&worktree_path, "/.");
5657

0 commit comments

Comments
 (0)