Main worktree _is_ different. You can lock a linked worktree but not the main one, for example. Provide an API for checking that. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- worktree.c | 5 +++++ worktree.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/worktree.c b/worktree.c index a6d1ad1..37fea3d 100644 --- a/worktree.c +++ b/worktree.c @@ -238,6 +238,11 @@ struct worktree *find_worktree_by_path(struct worktree **list, return wt; } +int is_main_worktree(const struct worktree *wt) +{ + return wt && !wt->id; +} + int is_worktree_being_rebased(const struct worktree *wt, const char *target) { diff --git a/worktree.h b/worktree.h index 7775d1b..77a9e09 100644 --- a/worktree.h +++ b/worktree.h @@ -35,6 +35,11 @@ extern const char *get_worktree_git_dir(const struct worktree *wt); extern struct worktree *find_worktree_by_path(struct worktree **list, const char *path_); +/* + * Return true if the given worktree is the main one. + */ +extern int is_main_worktree(const struct worktree *wt); + /* * Free up the memory for worktree */ -- 2.8.2.524.g6ff3d78 -- 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