On Thu, Apr 21, 2016 at 2:20 PM, Eric Sunshine <sunshine@xxxxxxxxxxxxxx> wrote: > On Wed, Apr 20, 2016 at 9:24 AM, Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> wrote: >> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> >> --- >> diff --git a/worktree.c b/worktree.c >> @@ -178,6 +182,18 @@ struct worktree **get_worktrees(void) >> } >> ALLOC_GROW(list, counter + 1, alloc); >> list[counter] = NULL; >> + >> + strbuf_addstr(&git_dir, absolute_path(get_git_dir())); >> + for (i = 0; i < counter; i++) { >> + struct worktree *wt = list[i]; >> + strbuf_addstr(&path, absolute_path(get_worktree_git_dir(wt))); >> + wt->is_current = !strcmp_icase(git_dir.buf, path.buf); > > Can you talk a bit about why this uses 'icase'? Should it be > respecting cache.h:ignore_case? It does.That function (in dir.c) is just one-liner return ignore_case ? strcasecmp(a, b) : strcmp(a, b); I admit though, the naming does not make that clear. >> + strbuf_reset(&path); >> + if (wt->is_current) >> + break; >> + } >> + strbuf_release(&git_dir); >> + strbuf_release(&path); > > Minor: Would it make sense to place this new code in its own function > -- say, mark_current_worktree() -- to keep get_worktrees() from > becoming overlong? Good idea. Will do. -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html