forked from git/git
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move all path related declarations from cache.h to a new path.h header file. This makes cache.h smaller and makes it easier to add new path related functions. Signed-off-by: Brandon Williams <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
- Loading branch information
Showing
3 changed files
with
64 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
#ifndef PATH_H | ||
#define PATH_H | ||
|
||
/* | ||
* Return a statically allocated filename, either generically (mkpath), in | ||
* the repository directory (git_path), or in a submodule's repository | ||
* directory (git_path_submodule). In all cases, note that the result | ||
* may be overwritten by another call to _any_ of the functions. Consider | ||
* using the safer "dup" or "strbuf" formats below (in some cases, the | ||
* unsafe versions have already been removed). | ||
*/ | ||
extern const char *mkpath(const char *fmt, ...) __attribute__((format (printf, 1, 2))); | ||
extern const char *git_path(const char *fmt, ...) __attribute__((format (printf, 1, 2))); | ||
extern const char *git_common_path(const char *fmt, ...) __attribute__((format (printf, 1, 2))); | ||
|
||
extern char *mksnpath(char *buf, size_t n, const char *fmt, ...) | ||
__attribute__((format (printf, 3, 4))); | ||
extern void strbuf_git_path(struct strbuf *sb, const char *fmt, ...) | ||
__attribute__((format (printf, 2, 3))); | ||
extern void strbuf_git_common_path(struct strbuf *sb, const char *fmt, ...) | ||
__attribute__((format (printf, 2, 3))); | ||
extern char *git_path_buf(struct strbuf *buf, const char *fmt, ...) | ||
__attribute__((format (printf, 2, 3))); | ||
extern int strbuf_git_path_submodule(struct strbuf *sb, const char *path, | ||
const char *fmt, ...) | ||
__attribute__((format (printf, 3, 4))); | ||
extern char *git_pathdup(const char *fmt, ...) | ||
__attribute__((format (printf, 1, 2))); | ||
extern char *mkpathdup(const char *fmt, ...) | ||
__attribute__((format (printf, 1, 2))); | ||
extern char *git_pathdup_submodule(const char *path, const char *fmt, ...) | ||
__attribute__((format (printf, 2, 3))); | ||
|
||
extern void report_linked_checkout_garbage(void); | ||
|
||
/* | ||
* You can define a static memoized git path like: | ||
* | ||
* static GIT_PATH_FUNC(git_path_foo, "FOO"); | ||
* | ||
* or use one of the global ones below. | ||
*/ | ||
#define GIT_PATH_FUNC(func, filename) \ | ||
const char *func(void) \ | ||
{ \ | ||
static char *ret; \ | ||
if (!ret) \ | ||
ret = git_pathdup(filename); \ | ||
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); | ||
|
||
#endif /* PATH_H */ |