@matheusbsbs / matheus-bagliano / commits / 45f274fbb1
Fork 0

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 <johannes.schindelin@gmx.de> Signed-off-by: Hariom Verma <hariom18599@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Hariom Verma committed Feb 23, 2020 at 18:57 UTC 45f274fbb118cc4cb00640c30b4e3069d96755a0
1 file changed +1
worktree.c
+1
@@ -51,6 +51,7 @@ static struct worktree *get_main_worktree(void)
51 struct strbuf worktree_path = STRBUF_INIT;
52
53 strbuf_add_absolute_path(&worktree_path, get_git_common_dir());
54 + strbuf_strip_suffix(&worktree_path, "/.");
55 if (!strbuf_strip_suffix(&worktree_path, "/.git"))
56 strbuf_strip_suffix(&worktree_path, "/.");
57