From 51934904425e55a190b05f0a7a3de40ea486f0e5 Mon Sep 17 00:00:00 2001 From: Michael Rappazzo Date: Thu, 8 Oct 2015 13:01:03 -0400 Subject: worktree: add a function to get worktree details The worktree structure provided for an individual worktree includes the absolute path of the worktree. The fuction to get the worktree details is a refactor of the find main/linked symref functions. Signed-off-by: Michael Rappazzo Signed-off-by: Junio C Hamano --- worktree.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'worktree.h') diff --git a/worktree.h b/worktree.h index 71b14092c4..7022029db5 100644 --- a/worktree.h +++ b/worktree.h @@ -1,6 +1,28 @@ #ifndef WORKTREE_H #define WORKTREE_H +struct worktree { + char *path; + char *git_dir; +}; + +/* Functions for acting on the information about worktrees. */ + +/* + * Get the worktrees. The primary worktree will always be the first returned, + * and linked worktrees will be pointed to by 'next' in each subsequent + * worktree. No specific ordering is done on the linked worktrees. + * + * The caller is responsible for freeing the memory from the returned + * worktree(s). + */ +extern struct worktree **get_worktrees(void); + +/* + * Free up the memory for worktree(s) + */ +extern void free_worktrees(struct worktree **); + /* * Check if a per-worktree symref points to a ref in the main worktree * or any linked worktree, and return the path to the exising worktree -- cgit v1.2.3