diff options
Diffstat (limited to 'worktree.h')
-rw-r--r-- | worktree.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/worktree.h b/worktree.h index 9276c81ae7..df3fc30f73 100644 --- a/worktree.h +++ b/worktree.h @@ -1,14 +1,17 @@ #ifndef WORKTREE_H #define WORKTREE_H +#include "cache.h" #include "refs.h" +struct strbuf; + struct worktree { char *path; char *id; char *head_ref; /* NULL if HEAD is broken or detached */ char *lock_reason; /* internal use */ - unsigned char head_sha1[20]; + struct object_id head_oid; int is_detached; int is_bare; int is_current; @@ -59,6 +62,22 @@ extern int is_main_worktree(const struct worktree *wt); */ extern const char *is_worktree_locked(struct worktree *wt); +#define WT_VALIDATE_WORKTREE_MISSING_OK (1 << 0) + +/* + * Return zero if the worktree is in good condition. Error message is + * returned if "errmsg" is not NULL. + */ +extern int validate_worktree(const struct worktree *wt, + struct strbuf *errmsg, + unsigned flags); + +/* + * Update worktrees/xxx/gitdir with the new path. + */ +extern void update_worktree_location(struct worktree *wt, + const char *path_); + /* * Free up the memory for worktree(s) */ |