From 2e641d5825673c7dca384bc12fcaf1681d731bb6 Mon Sep 17 00:00:00 2001 From: Nguyễn Thái Ngọc Duy Date: Fri, 22 Apr 2016 20:01:29 +0700 Subject: path.c: refactor and add worktree_git_path() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit do_git_path(), which is the common code for all git_path* functions, is modified to take a worktree struct and can produce paths for any worktree. worktree_git_path() is the first function that makes use of this. It can be used to write code that can examine any worktree. For example, wt_status_get_state() will be converted using this to take am/rebase/... state of any worktree. Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- worktree.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'worktree.h') diff --git a/worktree.h b/worktree.h index ccdf69a876..0da8c1f2bd 100644 --- a/worktree.h +++ b/worktree.h @@ -42,4 +42,12 @@ extern void free_worktrees(struct worktree **); extern const struct worktree *find_shared_symref(const char *symref, const char *target); +/* + * Similar to git_path() but can produce paths for a specified + * worktree instead of current one + */ +extern const char *worktree_git_path(const struct worktree *wt, + const char *fmt, ...) + __attribute__((format (printf, 2, 3))); + #endif -- cgit v1.3