worktree.c: add is_main_worktree()

Main worktree _is_ different. You can lock (*) a linked worktree but not
the main one, for example. Provide an API for checking that.

(*) Add the file $GIT_DIR/worktrees/xxx/locked to avoid worktree xxx
from being removed or moved.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nguyễn Thái Ngọc Duy 2016-06-03 19:19:40 +07:00 committed by Junio C Hamano
parent 6835314459
commit 984ad9e56c
2 changed files with 10 additions and 0 deletions

View File

@ -229,6 +229,11 @@ struct worktree *find_worktree(struct worktree **list,
return *list; return *list;
} }
int is_main_worktree(const struct worktree *wt)
{
return !wt->id;
}
int is_worktree_being_rebased(const struct worktree *wt, int is_worktree_being_rebased(const struct worktree *wt,
const char *target) const char *target)
{ {

View File

@ -37,6 +37,11 @@ extern struct worktree *find_worktree(struct worktree **list,
const char *prefix, const char *prefix,
const char *arg); const char *arg);
/*
* 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(s) * Free up the memory for worktree(s)
*/ */