path.c: migrate global git_path_* to take a repository argument
Migrate all git_path_* functions that are defined in path.c to take a repository argument. Unlike other patches in this series, do not use the #define trick, as we rewrite the whole function, which is rather small. This doesn't migrate all the functions, as other builtins have their own local path functions defined using GIT_PATH_FUNC. So keep that macro around to serve the other locations. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
0437a2e365
commit
102de880d2
40
path.h
40
path.h
@ -160,14 +160,36 @@ extern void report_linked_checkout_garbage(void);
|
||||
return ret; \
|
||||
}
|
||||
|
||||
const char *git_path_cherry_pick_head(void);
|
||||
const char *git_path_revert_head(void);
|
||||
const char *git_path_squash_msg(void);
|
||||
const char *git_path_merge_msg(void);
|
||||
const char *git_path_merge_rr(void);
|
||||
const char *git_path_merge_mode(void);
|
||||
const char *git_path_merge_head(void);
|
||||
const char *git_path_fetch_head(void);
|
||||
const char *git_path_shallow(void);
|
||||
#define REPO_GIT_PATH_FUNC(var, filename) \
|
||||
const char *git_path_##var(struct repository *r) \
|
||||
{ \
|
||||
if (!r->cached_paths.var) \
|
||||
r->cached_paths.var = git_pathdup(filename); \
|
||||
return r->cached_paths.var; \
|
||||
}
|
||||
|
||||
struct path_cache {
|
||||
const char *cherry_pick_head;
|
||||
const char *revert_head;
|
||||
const char *squash_msg;
|
||||
const char *merge_msg;
|
||||
const char *merge_rr;
|
||||
const char *merge_mode;
|
||||
const char *merge_head;
|
||||
const char *fetch_head;
|
||||
const char *shallow;
|
||||
};
|
||||
|
||||
#define PATH_CACHE_INIT { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
|
||||
|
||||
const char *git_path_cherry_pick_head(struct repository *r);
|
||||
const char *git_path_revert_head(struct repository *r);
|
||||
const char *git_path_squash_msg(struct repository *r);
|
||||
const char *git_path_merge_msg(struct repository *r);
|
||||
const char *git_path_merge_rr(struct repository *r);
|
||||
const char *git_path_merge_mode(struct repository *r);
|
||||
const char *git_path_merge_head(struct repository *r);
|
||||
const char *git_path_fetch_head(struct repository *r);
|
||||
const char *git_path_shallow(struct repository *r);
|
||||
|
||||
#endif /* PATH_H */
|
||||
|
Reference in New Issue
Block a user