From f394e093df10f1867d9bb2180b3789ee61124aed Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 21 Mar 2023 06:25:54 +0000 Subject: treewide: be explicit about dependence on gettext.h Dozens of files made use of gettext functions, without explicitly including gettext.h. This made it more difficult to find which files could remove a dependence on cache.h. Make C files explicitly include gettext.h if they are using it. However, while compat/fsmonitor/fsm-ipc-darwin.c should also gain an include of gettext.h, it was left out to avoid conflicting with an in-flight topic. Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- builtin/diff.c | 1 + 1 file changed, 1 insertion(+) (limited to 'builtin/diff.c') diff --git a/builtin/diff.c b/builtin/diff.c index 26f1e532c6..20bdb6e6ce 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -11,6 +11,7 @@ #include "color.h" #include "commit.h" #include "blob.h" +#include "gettext.h" #include "tag.h" #include "diff.h" #include "diff-merges.h" -- cgit v1.3 From e38da487cc50ce4b5b48085eebcab8268c541579 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 21 Mar 2023 06:26:05 +0000 Subject: setup.h: move declarations for setup.c functions from cache.h Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- apply.c | 1 + archive.c | 1 + attr.c | 1 + blame.c | 1 + builtin/blame.c | 1 + builtin/bugreport.c | 1 + builtin/bundle.c | 1 + builtin/check-attr.c | 1 + builtin/check-ref-format.c | 1 + builtin/checkout-index.c | 1 + builtin/checkout.c | 1 + builtin/clean.c | 1 + builtin/clone.c | 1 + builtin/config.c | 1 + builtin/describe.c | 1 + builtin/diff-index.c | 1 + builtin/diff.c | 1 + builtin/difftool.c | 1 + builtin/gc.c | 1 + builtin/grep.c | 1 + builtin/hash-object.c | 1 + builtin/help.c | 1 + builtin/index-pack.c | 1 + builtin/init-db.c | 1 + builtin/ls-files.c | 1 + builtin/merge-file.c | 1 + builtin/mv.c | 1 + builtin/read-tree.c | 1 + builtin/reset.c | 1 + builtin/rev-parse.c | 1 + builtin/rm.c | 1 + builtin/shortlog.c | 1 + builtin/sparse-checkout.c | 1 + builtin/stash.c | 1 + builtin/stripspace.c | 1 + builtin/submodule--helper.c | 1 + builtin/update-index.c | 1 + cache.h | 163 -------------------------- commit.c | 1 + common-main.c | 1 + config.c | 1 + daemon.c | 1 + diff.c | 1 + dir.c | 1 + environment.c | 1 + git.c | 1 + http-fetch.c | 1 + http-push.c | 1 + imap-send.c | 1 + line-log.c | 1 + mailmap.c | 1 + object-file.c | 1 + object-name.c | 1 + path.c | 1 + pathspec.c | 1 + refs.c | 1 + refs/files-backend.c | 1 + remote-curl.c | 1 + remote.c | 1 + repository.c | 1 + revision.c | 1 + scalar.c | 1 + setup.c | 1 + setup.h | 168 +++++++++++++++++++++++++++ submodule.c | 1 + symlinks.c | 1 + t/helper/test-advise.c | 1 + t/helper/test-bitmap.c | 1 + t/helper/test-bloom.c | 1 + t/helper/test-cache-tree.c | 1 + t/helper/test-config.c | 1 + t/helper/test-dump-cache-tree.c | 2 +- t/helper/test-dump-fsmonitor.c | 1 + t/helper/test-dump-split-index.c | 1 + t/helper/test-dump-untracked-cache.c | 1 + t/helper/test-fast-rebase.c | 1 + t/helper/test-fsmonitor-client.c | 1 + t/helper/test-lazy-init-name-hash.c | 1 + t/helper/test-match-trees.c | 1 + t/helper/test-oid-array.c | 1 + t/helper/test-oidmap.c | 1 + t/helper/test-oidtree.c | 1 + t/helper/test-pack-mtimes.c | 1 + t/helper/test-partial-clone.c | 1 + t/helper/test-path-utils.c | 1 + t/helper/test-proc-receive.c | 1 + t/helper/test-reach.c | 1 + t/helper/test-read-cache.c | 1 + t/helper/test-read-graph.c | 1 + t/helper/test-read-midx.c | 1 + t/helper/test-ref-store.c | 1 + t/helper/test-repository.c | 1 + t/helper/test-revision-walking.c | 1 + t/helper/test-scrap-cache-tree.c | 1 + t/helper/test-serve-v2.c | 1 + t/helper/test-submodule-config.c | 1 + t/helper/test-submodule-nested-repo-config.c | 1 + t/helper/test-submodule.c | 1 + t/helper/test-subprocess.c | 1 + t/helper/test-userdiff.c | 1 + t/helper/test-write-cache.c | 1 + trace.c | 1 + unpack-trees.c | 1 + worktree.c | 1 + wt-status.c | 1 + 105 files changed, 271 insertions(+), 164 deletions(-) create mode 100644 setup.h (limited to 'builtin/diff.c') diff --git a/apply.c b/apply.c index a7c0bccb15..caa2e0a3bc 100644 --- a/apply.c +++ b/apply.c @@ -27,6 +27,7 @@ #include "rerere.h" #include "apply.h" #include "entry.h" +#include "setup.h" #include "wrapper.h" struct gitdiff_data { diff --git a/archive.c b/archive.c index 7aeaaf368f..cdce5b783a 100644 --- a/archive.c +++ b/archive.c @@ -5,6 +5,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "setup.h" #include "refs.h" #include "object-store.h" #include "commit.h" diff --git a/attr.c b/attr.c index 62127196cb..2d8aeb8b58 100644 --- a/attr.c +++ b/attr.c @@ -18,6 +18,7 @@ #include "quote.h" #include "revision.h" #include "object-store.h" +#include "setup.h" #include "thread-utils.h" const char git_attr__true[] = "(builtin)true"; diff --git a/blame.c b/blame.c index b7cd849bb6..838eb128f0 100644 --- a/blame.c +++ b/blame.c @@ -7,6 +7,7 @@ #include "diffcore.h" #include "gettext.h" #include "hex.h" +#include "setup.h" #include "tag.h" #include "blame.h" #include "alloc.h" diff --git a/builtin/blame.c b/builtin/blame.c index 9ec82edcbd..fb271bae70 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -31,6 +31,7 @@ #include "object-store.h" #include "blame.h" #include "refs.h" +#include "setup.h" #include "tag.h" static char blame_usage[] = N_("git blame [] [] [] [--] "); diff --git a/builtin/bugreport.c b/builtin/bugreport.c index 160590e4ef..52955e1d38 100644 --- a/builtin/bugreport.c +++ b/builtin/bugreport.c @@ -8,6 +8,7 @@ #include "hook.h" #include "hook-list.h" #include "diagnose.h" +#include "setup.h" #include "wrapper.h" static void get_system_info(struct strbuf *sys_info) diff --git a/builtin/bundle.c b/builtin/bundle.c index 9e2aecadf7..e68fc83d94 100644 --- a/builtin/bundle.c +++ b/builtin/bundle.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "abspath.h" #include "gettext.h" +#include "setup.h" #include "strvec.h" #include "parse-options.h" #include "cache.h" diff --git a/builtin/check-attr.c b/builtin/check-attr.c index 5870c4683a..ec37b8164a 100644 --- a/builtin/check-attr.c +++ b/builtin/check-attr.c @@ -6,6 +6,7 @@ #include "environment.h" #include "gettext.h" #include "quote.h" +#include "setup.h" #include "parse-options.h" static int all_attrs; diff --git a/builtin/check-ref-format.c b/builtin/check-ref-format.c index fd0e5f8683..b026346742 100644 --- a/builtin/check-ref-format.c +++ b/builtin/check-ref-format.c @@ -5,6 +5,7 @@ #include "cache.h" #include "refs.h" #include "builtin.h" +#include "setup.h" #include "strbuf.h" static const char builtin_check_ref_format_usage[] = diff --git a/builtin/checkout-index.c b/builtin/checkout-index.c index 828c0363f8..7df673e3e7 100644 --- a/builtin/checkout-index.c +++ b/builtin/checkout-index.c @@ -15,6 +15,7 @@ #include "parse-options.h" #include "entry.h" #include "parallel-checkout.h" +#include "setup.h" #define CHECKOUT_ALL 4 static int nul_term_line; diff --git a/builtin/checkout.c b/builtin/checkout.c index 5541e76c33..73b6e581f3 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -23,6 +23,7 @@ #include "resolve-undo.h" #include "revision.h" #include "run-command.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" #include "tree.h" diff --git a/builtin/clean.c b/builtin/clean.c index fdcf62c5df..14c0d555ea 100644 --- a/builtin/clean.c +++ b/builtin/clean.c @@ -14,6 +14,7 @@ #include "dir.h" #include "gettext.h" #include "parse-options.h" +#include "setup.h" #include "string-list.h" #include "quote.h" #include "column.h" diff --git a/builtin/clone.c b/builtin/clone.c index 15dc15408e..34f46965b9 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -33,6 +33,7 @@ #include "branch.h" #include "remote.h" #include "run-command.h" +#include "setup.h" #include "connected.h" #include "packfile.h" #include "list-objects-filter-options.h" diff --git a/builtin/config.c b/builtin/config.c index cf994a216c..fe79fb60c4 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -9,6 +9,7 @@ #include "parse-options.h" #include "urlmatch.h" #include "quote.h" +#include "setup.h" #include "worktree.h" #include "wrapper.h" diff --git a/builtin/describe.c b/builtin/describe.c index 27c6670e93..43b62348bc 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -15,6 +15,7 @@ #include "revision.h" #include "diff.h" #include "hashmap.h" +#include "setup.h" #include "strvec.h" #include "run-command.h" #include "object-store.h" diff --git a/builtin/diff-index.c b/builtin/diff-index.c index 35dc9b23ee..b9a19bb7d3 100644 --- a/builtin/diff-index.c +++ b/builtin/diff-index.c @@ -5,6 +5,7 @@ #include "commit.h" #include "revision.h" #include "builtin.h" +#include "setup.h" #include "submodule.h" static const char diff_cache_usage[] = diff --git a/builtin/diff.c b/builtin/diff.c index 20bdb6e6ce..3945683bfe 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -19,6 +19,7 @@ #include "revision.h" #include "log-tree.h" #include "builtin.h" +#include "setup.h" #include "submodule.h" #include "oid-array.h" diff --git a/builtin/difftool.c b/builtin/difftool.c index 3613de6389..176437d6da 100644 --- a/builtin/difftool.c +++ b/builtin/difftool.c @@ -28,6 +28,7 @@ #include "object-store.h" #include "dir.h" #include "entry.h" +#include "setup.h" #include "wrapper.h" static int trust_exit_code; diff --git a/builtin/gc.c b/builtin/gc.c index 525c5de5b2..a85f9e3ed3 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -36,6 +36,7 @@ #include "exec-cmd.h" #include "gettext.h" #include "hook.h" +#include "setup.h" #include "wrapper.h" #define FAILED_RUN "failed to run %s" diff --git a/builtin/grep.c b/builtin/grep.c index 3c9c6b3803..b8ebf014f4 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -23,6 +23,7 @@ #include "quote.h" #include "dir.h" #include "pathspec.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" #include "object-store.h" diff --git a/builtin/hash-object.c b/builtin/hash-object.c index 7651a7a5f5..a2e160db02 100644 --- a/builtin/hash-object.c +++ b/builtin/hash-object.c @@ -14,6 +14,7 @@ #include "quote.h" #include "parse-options.h" #include "exec-cmd.h" +#include "setup.h" /* * This is to create corrupt objects for debugging and as such it diff --git a/builtin/help.c b/builtin/help.c index 3fde5c4fd3..87333a02ec 100644 --- a/builtin/help.c +++ b/builtin/help.c @@ -11,6 +11,7 @@ #include "config-list.h" #include "help.h" #include "alias.h" +#include "setup.h" #ifndef DEFAULT_HELP_FORMAT #define DEFAULT_HELP_FORMAT "man" diff --git a/builtin/index-pack.c b/builtin/index-pack.c index fdce8f8872..823dc5aefb 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -20,6 +20,7 @@ #include "object-store.h" #include "replace-object.h" #include "promisor-remote.h" +#include "setup.h" #include "wrapper.h" static const char index_pack_usage[] = diff --git a/builtin/init-db.c b/builtin/init-db.c index 2ebc9023f5..ba6e0b20fa 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c @@ -12,6 +12,7 @@ #include "builtin.h" #include "exec-cmd.h" #include "parse-options.h" +#include "setup.h" #include "worktree.h" #include "wrapper.h" diff --git a/builtin/ls-files.c b/builtin/ls-files.c index 09deb752ab..4a8de95ddc 100644 --- a/builtin/ls-files.c +++ b/builtin/ls-files.c @@ -20,6 +20,7 @@ #include "string-list.h" #include "pathspec.h" #include "run-command.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" diff --git a/builtin/merge-file.c b/builtin/merge-file.c index c0096ee081..781818d08f 100644 --- a/builtin/merge-file.c +++ b/builtin/merge-file.c @@ -3,6 +3,7 @@ #include "cache.h" #include "config.h" #include "gettext.h" +#include "setup.h" #include "xdiff/xdiff.h" #include "xdiff-interface.h" #include "parse-options.h" diff --git a/builtin/mv.c b/builtin/mv.c index c2dd42efbf..b7c5ffbd8c 100644 --- a/builtin/mv.c +++ b/builtin/mv.c @@ -16,6 +16,7 @@ #include "cache-tree.h" #include "string-list.h" #include "parse-options.h" +#include "setup.h" #include "submodule.h" #include "entry.h" diff --git a/builtin/read-tree.c b/builtin/read-tree.c index ec66008d07..5f24453dcd 100644 --- a/builtin/read-tree.c +++ b/builtin/read-tree.c @@ -19,6 +19,7 @@ #include "builtin.h" #include "parse-options.h" #include "resolve-undo.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" diff --git a/builtin/reset.c b/builtin/reset.c index b5dfce1159..af2afc2c98 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -26,6 +26,7 @@ #include "parse-options.h" #include "unpack-trees.h" #include "cache-tree.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" #include "dir.h" diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index bba49d56b9..3a5a2ee5b2 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -18,6 +18,7 @@ #include "parse-options.h" #include "diff.h" #include "revision.h" +#include "setup.h" #include "split-index.h" #include "submodule.h" #include "commit-reach.h" diff --git a/builtin/rm.c b/builtin/rm.c index 5982c3d812..97775e4c4d 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -15,6 +15,7 @@ #include "tree-walk.h" #include "parse-options.h" #include "string-list.h" +#include "setup.h" #include "submodule.h" #include "pathspec.h" diff --git a/builtin/shortlog.c b/builtin/shortlog.c index 31f81c25ea..59d9c440fb 100644 --- a/builtin/shortlog.c +++ b/builtin/shortlog.c @@ -9,6 +9,7 @@ #include "revision.h" #include "utf8.h" #include "mailmap.h" +#include "setup.h" #include "shortlog.h" #include "parse-options.h" #include "trailer.h" diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c index f6a120c7c4..512df0f8f5 100644 --- a/builtin/sparse-checkout.c +++ b/builtin/sparse-checkout.c @@ -16,6 +16,7 @@ #include "unpack-trees.h" #include "wt-status.h" #include "quote.h" +#include "setup.h" #include "sparse-index.h" #include "worktree.h" diff --git a/builtin/stash.c b/builtin/stash.c index 94f81d75d0..30d547fff1 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -18,6 +18,7 @@ #include "entry.h" #include "rerere.h" #include "revision.h" +#include "setup.h" #include "log-tree.h" #include "diffcore.h" #include "exec-cmd.h" diff --git a/builtin/stripspace.c b/builtin/stripspace.c index d8e6145933..53930458ff 100644 --- a/builtin/stripspace.c +++ b/builtin/stripspace.c @@ -3,6 +3,7 @@ #include "config.h" #include "gettext.h" #include "parse-options.h" +#include "setup.h" #include "strbuf.h" static void comment_lines(struct strbuf *buf) diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 2bf2a1a8be..3cb4a3ce21 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -12,6 +12,7 @@ #include "quote.h" #include "pathspec.h" #include "dir.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" #include "string-list.h" diff --git a/builtin/update-index.c b/builtin/update-index.c index 4642afaeb7..f97f8d4c9d 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -20,6 +20,7 @@ #include "parse-options.h" #include "pathspec.h" #include "dir.h" +#include "setup.h" #include "split-index.h" #include "fsmonitor.h" diff --git a/cache.h b/cache.h index 720c88f9fd..bffedd240e 100644 --- a/cache.h +++ b/cache.h @@ -452,67 +452,6 @@ static inline enum object_type object_type(unsigned int mode) OBJ_BLOB; } -int is_inside_git_dir(void); -int is_inside_work_tree(void); -int get_common_dir_noenv(struct strbuf *sb, const char *gitdir); -int get_common_dir(struct strbuf *sb, const char *gitdir); - -/* - * Return true if the given path is a git directory; note that this _just_ - * looks at the directory itself. If you want to know whether "foo/.git" - * is a repository, you must feed that path, not just "foo". - */ -int is_git_directory(const char *path); - -/* - * Return 1 if the given path is the root of a git repository or - * submodule, else 0. Will not return 1 for bare repositories with the - * exception of creating a bare repository in "foo/.git" and calling - * is_git_repository("foo"). - * - * If we run into read errors, we err on the side of saying "yes, it is", - * as we usually consider sub-repos precious, and would prefer to err on the - * side of not disrupting or deleting them. - */ -int is_nonbare_repository_dir(struct strbuf *path); - -#define READ_GITFILE_ERR_STAT_FAILED 1 -#define READ_GITFILE_ERR_NOT_A_FILE 2 -#define READ_GITFILE_ERR_OPEN_FAILED 3 -#define READ_GITFILE_ERR_READ_FAILED 4 -#define READ_GITFILE_ERR_INVALID_FORMAT 5 -#define READ_GITFILE_ERR_NO_PATH 6 -#define READ_GITFILE_ERR_NOT_A_REPO 7 -#define READ_GITFILE_ERR_TOO_LARGE 8 -void read_gitfile_error_die(int error_code, const char *path, const char *dir); -const char *read_gitfile_gently(const char *path, int *return_error_code); -#define read_gitfile(path) read_gitfile_gently((path), NULL) -const char *resolve_gitdir_gently(const char *suspect, int *return_error_code); -#define resolve_gitdir(path) resolve_gitdir_gently((path), NULL) - -void setup_work_tree(void); -/* - * Find the commondir and gitdir of the repository that contains the current - * working directory, without changing the working directory or other global - * state. The result is appended to commondir and gitdir. If the discovered - * gitdir does not correspond to a worktree, then 'commondir' and 'gitdir' will - * both have the same result appended to the buffer. The return value is - * either 0 upon success and non-zero if no repository was found. - */ -int discover_git_directory(struct strbuf *commondir, - struct strbuf *gitdir); -const char *setup_git_directory_gently(int *); -const char *setup_git_directory(void); -char *prefix_path(const char *prefix, int len, const char *path); -char *prefix_path_gently(const char *prefix, int len, int *remaining, const char *path); - -int check_filename(const char *prefix, const char *name); -void verify_filename(const char *prefix, - const char *name, - int diagnose_misspelt_rev); -void verify_non_filename(const char *prefix, const char *name); -int path_inside_repo(const char *prefix, const char *path); - #define INIT_DB_QUIET 0x0001 #define INIT_DB_EXIST_OK 0x0002 @@ -521,9 +460,6 @@ int init_db(const char *git_dir, const char *real_git_dir, const char *initial_branch, unsigned int flags); void initialize_repository_version(int hash_algo, int reinit); -void sanitize_stdfds(void); -int daemonize(void); - /* Initialize and use the cache information */ struct lock_file; void preload_index(struct index_state *index, @@ -807,79 +743,6 @@ enum fsync_method { extern enum fsync_method fsync_method; -/* - * GIT_REPO_VERSION is the version we write by default. The - * _READ variant is the highest number we know how to - * handle. - */ -#define GIT_REPO_VERSION 0 -#define GIT_REPO_VERSION_READ 1 - -/* - * You _have_ to initialize a `struct repository_format` using - * `= REPOSITORY_FORMAT_INIT` before calling `read_repository_format()`. - */ -struct repository_format { - int version; - int precious_objects; - char *partial_clone; /* value of extensions.partialclone */ - int worktree_config; - int is_bare; - int hash_algo; - int sparse_index; - char *work_tree; - struct string_list unknown_extensions; - struct string_list v1_only_extensions; -}; - -/* - * Always use this to initialize a `struct repository_format` - * to a well-defined, default state before calling - * `read_repository()`. - */ -#define REPOSITORY_FORMAT_INIT \ -{ \ - .version = -1, \ - .is_bare = -1, \ - .hash_algo = GIT_HASH_SHA1, \ - .unknown_extensions = STRING_LIST_INIT_DUP, \ - .v1_only_extensions = STRING_LIST_INIT_DUP, \ -} - -/* - * Read the repository format characteristics from the config file "path" into - * "format" struct. Returns the numeric version. On error, or if no version is - * found in the configuration, -1 is returned, format->version is set to -1, - * and all other fields in the struct are set to the default configuration - * (REPOSITORY_FORMAT_INIT). Always initialize the struct using - * REPOSITORY_FORMAT_INIT before calling this function. - */ -int read_repository_format(struct repository_format *format, const char *path); - -/* - * Free the memory held onto by `format`, but not the struct itself. - * (No need to use this after `read_repository_format()` fails.) - */ -void clear_repository_format(struct repository_format *format); - -/* - * Verify that the repository described by repository_format is something we - * can read. If it is, return 0. Otherwise, return -1, and "err" will describe - * any errors encountered. - */ -int verify_repository_format(const struct repository_format *format, - struct strbuf *err); - -/* - * Check the repository format version in the path found in get_git_dir(), - * and die if it is a version we don't understand. Generally one would - * set_git_dir() before calling this, and use it only for "are we in a valid - * repo?". - * - * If successful and fmt is not NULL, fill fmt with data. - */ -void check_repository_format(struct repository_format *fmt); - #define MTIME_CHANGED 0x0001 #define CTIME_CHANGED 0x0002 #define OWNER_CHANGED 0x0004 @@ -908,23 +771,6 @@ const char *repo_find_unique_abbrev(struct repository *r, const struct object_id int repo_find_unique_abbrev_r(struct repository *r, char *hex, const struct object_id *oid, int len); #define find_unique_abbrev_r(hex, oid, len) repo_find_unique_abbrev_r(the_repository, hex, oid, len) -/* - * NOTE NOTE NOTE!! - * - * PERM_UMASK, OLD_PERM_GROUP and OLD_PERM_EVERYBODY enumerations must - * not be changed. Old repositories have core.sharedrepository written in - * numeric format, and therefore these values are preserved for compatibility - * reasons. - */ -enum sharedrepo { - PERM_UMASK = 0, - OLD_PERM_GROUP = 1, - OLD_PERM_EVERYBODY = 2, - PERM_GROUP = 0660, - PERM_EVERYBODY = 0664 -}; -int git_config_perm(const char *var, const char *value); - /* * Create the directory containing the named path, using care to be * somewhat safe against races. Return one of the scld_error values to @@ -1283,15 +1129,6 @@ int ws_blank_line(const char *line, int len); void overlay_tree_on_index(struct index_state *istate, const char *tree_name, const char *prefix); -/* setup.c */ -struct startup_info { - int have_repository; - const char *prefix; - const char *original_cwd; -}; -extern struct startup_info *startup_info; -extern const char *tmp_original_cwd; - /* merge.c */ struct commit_list; int try_merge_command(struct repository *r, diff --git a/commit.c b/commit.c index f88fc5e1a2..3868f047f1 100644 --- a/commit.c +++ b/commit.c @@ -23,6 +23,7 @@ #include "refs.h" #include "commit-reach.h" #include "run-command.h" +#include "setup.h" #include "shallow.h" #include "hook.h" diff --git a/common-main.c b/common-main.c index 184d1534d2..b83cb5cf06 100644 --- a/common-main.c +++ b/common-main.c @@ -2,6 +2,7 @@ #include "exec-cmd.h" #include "gettext.h" #include "attr.h" +#include "setup.h" /* * Many parts of Git have subprograms communicate via pipe, expect the diff --git a/config.c b/config.c index 5b1a5d5205..03a4fcaba5 100644 --- a/config.c +++ b/config.c @@ -27,6 +27,7 @@ #include "color.h" #include "replace-object.h" #include "refs.h" +#include "setup.h" #include "worktree.h" #include "wrapper.h" diff --git a/daemon.c b/daemon.c index b56a8f9717..db8a31a6ea 100644 --- a/daemon.c +++ b/daemon.c @@ -5,6 +5,7 @@ #include "environment.h" #include "pkt-line.h" #include "run-command.h" +#include "setup.h" #include "strbuf.h" #include "string-list.h" #include "wrapper.h" diff --git a/diff.c b/diff.c index dcf1a94094..b858e59c5a 100644 --- a/diff.c +++ b/diff.c @@ -33,6 +33,7 @@ #include "help.h" #include "promisor-remote.h" #include "dir.h" +#include "setup.h" #include "strmap.h" #include "wrapper.h" diff --git a/dir.c b/dir.c index 06f8aa3c01..4cc2b1ead4 100644 --- a/dir.c +++ b/dir.c @@ -21,6 +21,7 @@ #include "varint.h" #include "ewah/ewok.h" #include "fsmonitor.h" +#include "setup.h" #include "submodule-config.h" #include "wrapper.h" diff --git a/environment.c b/environment.c index bf02f3cf48..649d16ac27 100644 --- a/environment.c +++ b/environment.c @@ -22,6 +22,7 @@ #include "replace-object.h" #include "tmp-objdir.h" #include "chdir-notify.h" +#include "setup.h" #include "shallow.h" #include "wrapper.h" diff --git a/git.c b/git.c index b24c105e83..77f920a6f6 100644 --- a/git.c +++ b/git.c @@ -7,6 +7,7 @@ #include "run-command.h" #include "alias.h" #include "replace-object.h" +#include "setup.h" #include "shallow.h" #define RUN_SETUP (1<<0) diff --git a/http-fetch.c b/http-fetch.c index 454933351b..c874d3402d 100644 --- a/http-fetch.c +++ b/http-fetch.c @@ -5,6 +5,7 @@ #include "hex.h" #include "http.h" #include "walker.h" +#include "setup.h" #include "strvec.h" #include "urlmatch.h" #include "trace2.h" diff --git a/http-push.c b/http-push.c index 40373bc486..e73864b51f 100644 --- a/http-push.c +++ b/http-push.c @@ -12,6 +12,7 @@ #include "exec-cmd.h" #include "remote.h" #include "list-objects.h" +#include "setup.h" #include "sigchain.h" #include "strvec.h" #include "packfile.h" diff --git a/imap-send.c b/imap-send.c index aa5b2f252d..a62424e90a 100644 --- a/imap-send.c +++ b/imap-send.c @@ -28,6 +28,7 @@ #include "gettext.h" #include "run-command.h" #include "parse-options.h" +#include "setup.h" #include "wrapper.h" #if defined(NO_OPENSSL) && !defined(HAVE_OPENSSL_CSPRNG) typedef void *SSL; diff --git a/line-log.c b/line-log.c index 6e7fc4b2e0..84c8093c51 100644 --- a/line-log.c +++ b/line-log.c @@ -16,6 +16,7 @@ #include "graph.h" #include "userdiff.h" #include "line-log.h" +#include "setup.h" #include "strvec.h" #include "bloom.h" diff --git a/mailmap.c b/mailmap.c index 2c6e9b238d..c24a16eaf4 100644 --- a/mailmap.c +++ b/mailmap.c @@ -3,6 +3,7 @@ #include "string-list.h" #include "mailmap.h" #include "object-store.h" +#include "setup.h" #define DEBUG_MAILMAP 0 #if DEBUG_MAILMAP diff --git a/object-file.c b/object-file.c index 3da6cd6886..05fff230f7 100644 --- a/object-file.c +++ b/object-file.c @@ -37,6 +37,7 @@ #include "packfile.h" #include "object-store.h" #include "promisor-remote.h" +#include "setup.h" #include "submodule.h" #include "fsck.h" #include "wrapper.h" diff --git a/object-name.c b/object-name.c index 3b0ce8ef05..ce973e0150 100644 --- a/object-name.c +++ b/object-name.c @@ -15,6 +15,7 @@ #include "packfile.h" #include "object-store.h" #include "repository.h" +#include "setup.h" #include "submodule.h" #include "midx.h" #include "commit-reach.h" diff --git a/path.c b/path.c index 5d5a15c13d..a170243497 100644 --- a/path.c +++ b/path.c @@ -11,6 +11,7 @@ #include "string-list.h" #include "dir.h" #include "worktree.h" +#include "setup.h" #include "submodule-config.h" #include "path.h" #include "packfile.h" diff --git a/pathspec.c b/pathspec.c index 5fb7b5f26c..6972d515f0 100644 --- a/pathspec.c +++ b/pathspec.c @@ -6,6 +6,7 @@ #include "gettext.h" #include "pathspec.h" #include "attr.h" +#include "setup.h" #include "strvec.h" #include "quote.h" diff --git a/refs.c b/refs.c index 04520e5a6b..21b317e815 100644 --- a/refs.c +++ b/refs.c @@ -22,6 +22,7 @@ #include "worktree.h" #include "strvec.h" #include "repository.h" +#include "setup.h" #include "sigchain.h" #include "date.h" #include "commit.h" diff --git a/refs/files-backend.c b/refs/files-backend.c index 0c3138ede8..d2b8925ebd 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -14,6 +14,7 @@ #include "../object.h" #include "../dir.h" #include "../chdir-notify.h" +#include "../setup.h" #include "../worktree.h" #include "../wrapper.h" diff --git a/remote-curl.c b/remote-curl.c index eb382a1e35..260ea200bb 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -18,6 +18,7 @@ #include "credential.h" #include "oid-array.h" #include "send-pack.h" +#include "setup.h" #include "protocol.h" #include "quote.h" #include "transport.h" diff --git a/remote.c b/remote.c index aeca3ff813..c29e2f5298 100644 --- a/remote.c +++ b/remote.c @@ -15,6 +15,7 @@ #include "revision.h" #include "dir.h" #include "tag.h" +#include "setup.h" #include "string-list.h" #include "strvec.h" #include "commit-reach.h" diff --git a/repository.c b/repository.c index 4412f63322..f6d9f5db08 100644 --- a/repository.c +++ b/repository.c @@ -11,6 +11,7 @@ #include "object.h" #include "lockfile.h" #include "remote.h" +#include "setup.h" #include "submodule-config.h" #include "sparse-index.h" #include "promisor-remote.h" diff --git a/revision.c b/revision.c index 53fdeef078..f98691a353 100644 --- a/revision.c +++ b/revision.c @@ -29,6 +29,7 @@ #include "bisect.h" #include "packfile.h" #include "worktree.h" +#include "setup.h" #include "strvec.h" #include "commit-reach.h" #include "commit-graph.h" diff --git a/scalar.c b/scalar.c index fe61a3ebdd..27635658c0 100644 --- a/scalar.c +++ b/scalar.c @@ -15,6 +15,7 @@ #include "dir.h" #include "packfile.h" #include "help.h" +#include "setup.h" static void setup_enlistment_directory(int argc, const char **argv, const char * const *usagestr, diff --git a/setup.c b/setup.c index cfdc849a78..6c5b85e96c 100644 --- a/setup.c +++ b/setup.c @@ -5,6 +5,7 @@ #include "repository.h" #include "config.h" #include "dir.h" +#include "setup.h" #include "string-list.h" #include "chdir-notify.h" #include "promisor-remote.h" diff --git a/setup.h b/setup.h new file mode 100644 index 0000000000..4c1ca9d0c9 --- /dev/null +++ b/setup.h @@ -0,0 +1,168 @@ +#ifndef SETUP_H +#define SETUP_H + +#include "string-list.h" + +int is_inside_git_dir(void); +int is_inside_work_tree(void); +int get_common_dir_noenv(struct strbuf *sb, const char *gitdir); +int get_common_dir(struct strbuf *sb, const char *gitdir); + +/* + * Return true if the given path is a git directory; note that this _just_ + * looks at the directory itself. If you want to know whether "foo/.git" + * is a repository, you must feed that path, not just "foo". + */ +int is_git_directory(const char *path); + +/* + * Return 1 if the given path is the root of a git repository or + * submodule, else 0. Will not return 1 for bare repositories with the + * exception of creating a bare repository in "foo/.git" and calling + * is_git_repository("foo"). + * + * If we run into read errors, we err on the side of saying "yes, it is", + * as we usually consider sub-repos precious, and would prefer to err on the + * side of not disrupting or deleting them. + */ +int is_nonbare_repository_dir(struct strbuf *path); + +#define READ_GITFILE_ERR_STAT_FAILED 1 +#define READ_GITFILE_ERR_NOT_A_FILE 2 +#define READ_GITFILE_ERR_OPEN_FAILED 3 +#define READ_GITFILE_ERR_READ_FAILED 4 +#define READ_GITFILE_ERR_INVALID_FORMAT 5 +#define READ_GITFILE_ERR_NO_PATH 6 +#define READ_GITFILE_ERR_NOT_A_REPO 7 +#define READ_GITFILE_ERR_TOO_LARGE 8 +void read_gitfile_error_die(int error_code, const char *path, const char *dir); +const char *read_gitfile_gently(const char *path, int *return_error_code); +#define read_gitfile(path) read_gitfile_gently((path), NULL) +const char *resolve_gitdir_gently(const char *suspect, int *return_error_code); +#define resolve_gitdir(path) resolve_gitdir_gently((path), NULL) + +void setup_work_tree(void); +/* + * Find the commondir and gitdir of the repository that contains the current + * working directory, without changing the working directory or other global + * state. The result is appended to commondir and gitdir. If the discovered + * gitdir does not correspond to a worktree, then 'commondir' and 'gitdir' will + * both have the same result appended to the buffer. The return value is + * either 0 upon success and non-zero if no repository was found. + */ +int discover_git_directory(struct strbuf *commondir, + struct strbuf *gitdir); +const char *setup_git_directory_gently(int *); +const char *setup_git_directory(void); +char *prefix_path(const char *prefix, int len, const char *path); +char *prefix_path_gently(const char *prefix, int len, int *remaining, const char *path); + +int check_filename(const char *prefix, const char *name); +void verify_filename(const char *prefix, + const char *name, + int diagnose_misspelt_rev); +void verify_non_filename(const char *prefix, const char *name); +int path_inside_repo(const char *prefix, const char *path); + +void sanitize_stdfds(void); +int daemonize(void); + +/* + * GIT_REPO_VERSION is the version we write by default. The + * _READ variant is the highest number we know how to + * handle. + */ +#define GIT_REPO_VERSION 0 +#define GIT_REPO_VERSION_READ 1 + +/* + * You _have_ to initialize a `struct repository_format` using + * `= REPOSITORY_FORMAT_INIT` before calling `read_repository_format()`. + */ +struct repository_format { + int version; + int precious_objects; + char *partial_clone; /* value of extensions.partialclone */ + int worktree_config; + int is_bare; + int hash_algo; + int sparse_index; + char *work_tree; + struct string_list unknown_extensions; + struct string_list v1_only_extensions; +}; + +/* + * Always use this to initialize a `struct repository_format` + * to a well-defined, default state before calling + * `read_repository()`. + */ +#define REPOSITORY_FORMAT_INIT \ +{ \ + .version = -1, \ + .is_bare = -1, \ + .hash_algo = GIT_HASH_SHA1, \ + .unknown_extensions = STRING_LIST_INIT_DUP, \ + .v1_only_extensions = STRING_LIST_INIT_DUP, \ +} + +/* + * Read the repository format characteristics from the config file "path" into + * "format" struct. Returns the numeric version. On error, or if no version is + * found in the configuration, -1 is returned, format->version is set to -1, + * and all other fields in the struct are set to the default configuration + * (REPOSITORY_FORMAT_INIT). Always initialize the struct using + * REPOSITORY_FORMAT_INIT before calling this function. + */ +int read_repository_format(struct repository_format *format, const char *path); + +/* + * Free the memory held onto by `format`, but not the struct itself. + * (No need to use this after `read_repository_format()` fails.) + */ +void clear_repository_format(struct repository_format *format); + +/* + * Verify that the repository described by repository_format is something we + * can read. If it is, return 0. Otherwise, return -1, and "err" will describe + * any errors encountered. + */ +int verify_repository_format(const struct repository_format *format, + struct strbuf *err); + +/* + * Check the repository format version in the path found in get_git_dir(), + * and die if it is a version we don't understand. Generally one would + * set_git_dir() before calling this, and use it only for "are we in a valid + * repo?". + * + * If successful and fmt is not NULL, fill fmt with data. + */ +void check_repository_format(struct repository_format *fmt); + +/* + * NOTE NOTE NOTE!! + * + * PERM_UMASK, OLD_PERM_GROUP and OLD_PERM_EVERYBODY enumerations must + * not be changed. Old repositories have core.sharedrepository written in + * numeric format, and therefore these values are preserved for compatibility + * reasons. + */ +enum sharedrepo { + PERM_UMASK = 0, + OLD_PERM_GROUP = 1, + OLD_PERM_EVERYBODY = 2, + PERM_GROUP = 0660, + PERM_EVERYBODY = 0664 +}; +int git_config_perm(const char *var, const char *value); + +struct startup_info { + int have_repository; + const char *prefix; + const char *original_cwd; +}; +extern struct startup_info *startup_info; +extern const char *tmp_original_cwd; + +#endif /* SETUP_H */ diff --git a/submodule.c b/submodule.c index acf030b95e..75e0d45cbc 100644 --- a/submodule.c +++ b/submodule.c @@ -26,6 +26,7 @@ #include "parse-options.h" #include "object-store.h" #include "commit-reach.h" +#include "setup.h" #include "shallow.h" static int config_update_recurse_submodules = RECURSE_SUBMODULES_OFF; diff --git a/symlinks.c b/symlinks.c index c35c8d4408..27ecc93693 100644 --- a/symlinks.c +++ b/symlinks.c @@ -1,5 +1,6 @@ #include "cache.h" #include "gettext.h" +#include "setup.h" static int threaded_check_leading_path(struct cache_def *cache, const char *name, int len, int warn_on_lstat_err); diff --git a/t/helper/test-advise.c b/t/helper/test-advise.c index cb881139f7..4e6ed30afa 100644 --- a/t/helper/test-advise.c +++ b/t/helper/test-advise.c @@ -2,6 +2,7 @@ #include "cache.h" #include "advice.h" #include "config.h" +#include "setup.h" int cmd__advise_if_enabled(int argc, const char **argv) { diff --git a/t/helper/test-bitmap.c b/t/helper/test-bitmap.c index 5bb489882d..af43ee1cb5 100644 --- a/t/helper/test-bitmap.c +++ b/t/helper/test-bitmap.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "git-compat-util.h" #include "pack-bitmap.h" +#include "setup.h" static int bitmap_list_commits(void) { diff --git a/t/helper/test-bloom.c b/t/helper/test-bloom.c index 127f134a2a..e5754b8da6 100644 --- a/t/helper/test-bloom.c +++ b/t/helper/test-bloom.c @@ -3,6 +3,7 @@ #include "hex.h" #include "test-tool.h" #include "commit.h" +#include "setup.h" static struct bloom_filter_settings settings = DEFAULT_BLOOM_FILTER_SETTINGS; diff --git a/t/helper/test-cache-tree.c b/t/helper/test-cache-tree.c index 8b7a8fce1e..cdaf5046f5 100644 --- a/t/helper/test-cache-tree.c +++ b/t/helper/test-cache-tree.c @@ -6,6 +6,7 @@ #include "tree.h" #include "cache-tree.h" #include "parse-options.h" +#include "setup.h" static char const * const test_cache_tree_usage[] = { N_("test-tool cache-tree (control|prime|update)"), diff --git a/t/helper/test-config.c b/t/helper/test-config.c index 4ba9eb6560..5877188f3a 100644 --- a/t/helper/test-config.c +++ b/t/helper/test-config.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "config.h" +#include "setup.h" #include "string-list.h" /* diff --git a/t/helper/test-dump-cache-tree.c b/t/helper/test-dump-cache-tree.c index 92dfc1aa8c..715aabfbae 100644 --- a/t/helper/test-dump-cache-tree.c +++ b/t/helper/test-dump-cache-tree.c @@ -4,7 +4,7 @@ #include "hex.h" #include "tree.h" #include "cache-tree.h" - +#include "setup.h" static void dump_one(struct cache_tree *it, const char *pfx, const char *x) { diff --git a/t/helper/test-dump-fsmonitor.c b/t/helper/test-dump-fsmonitor.c index 975f0ac890..7e9de296db 100644 --- a/t/helper/test-dump-fsmonitor.c +++ b/t/helper/test-dump-fsmonitor.c @@ -1,5 +1,6 @@ #include "test-tool.h" #include "cache.h" +#include "setup.h" int cmd__dump_fsmonitor(int ac, const char **av) { diff --git a/t/helper/test-dump-split-index.c b/t/helper/test-dump-split-index.c index 813d0a38fa..289a01c10a 100644 --- a/t/helper/test-dump-split-index.c +++ b/t/helper/test-dump-split-index.c @@ -2,6 +2,7 @@ #include "test-tool.h" #include "cache.h" #include "hex.h" +#include "setup.h" #include "split-index.h" #include "ewah/ewok.h" diff --git a/t/helper/test-dump-untracked-cache.c b/t/helper/test-dump-untracked-cache.c index af953fabe8..415f55f31d 100644 --- a/t/helper/test-dump-untracked-cache.c +++ b/t/helper/test-dump-untracked-cache.c @@ -3,6 +3,7 @@ #include "cache.h" #include "dir.h" #include "hex.h" +#include "setup.h" static int compare_untracked(const void *a_, const void *b_) { diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c index 627a6bdc3d..e402c35a70 100644 --- a/t/helper/test-fast-rebase.c +++ b/t/helper/test-fast-rebase.c @@ -23,6 +23,7 @@ #include "refs.h" #include "revision.h" #include "sequencer.h" +#include "setup.h" #include "strvec.h" #include "tree.h" diff --git a/t/helper/test-fsmonitor-client.c b/t/helper/test-fsmonitor-client.c index c43fc976b8..a37236cd0a 100644 --- a/t/helper/test-fsmonitor-client.c +++ b/t/helper/test-fsmonitor-client.c @@ -7,6 +7,7 @@ #include "cache.h" #include "parse-options.h" #include "fsmonitor-ipc.h" +#include "setup.h" #include "thread-utils.h" #include "trace2.h" #include "wrapper.h" diff --git a/t/helper/test-lazy-init-name-hash.c b/t/helper/test-lazy-init-name-hash.c index 2b678a4579..06ce3a47cc 100644 --- a/t/helper/test-lazy-init-name-hash.c +++ b/t/helper/test-lazy-init-name-hash.c @@ -3,6 +3,7 @@ #include "cache.h" #include "environment.h" #include "parse-options.h" +#include "setup.h" static int single; static int multi; diff --git a/t/helper/test-match-trees.c b/t/helper/test-match-trees.c index 04bc2563f3..64705734df 100644 --- a/t/helper/test-match-trees.c +++ b/t/helper/test-match-trees.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "hex.h" +#include "setup.h" #include "tree.h" int cmd__match_trees(int ac, const char **av) diff --git a/t/helper/test-oid-array.c b/t/helper/test-oid-array.c index 0906993ad5..fd6f73ea03 100644 --- a/t/helper/test-oid-array.c +++ b/t/helper/test-oid-array.c @@ -2,6 +2,7 @@ #include "cache.h" #include "hex.h" #include "oid-array.h" +#include "setup.h" static int print_oid(const struct object_id *oid, void *data) { diff --git a/t/helper/test-oidmap.c b/t/helper/test-oidmap.c index 883d40efd4..f1b3dbe376 100644 --- a/t/helper/test-oidmap.c +++ b/t/helper/test-oidmap.c @@ -2,6 +2,7 @@ #include "cache.h" #include "hex.h" #include "oidmap.h" +#include "setup.h" #include "strbuf.h" /* key is an oid and value is a name (could be a refname for example) */ diff --git a/t/helper/test-oidtree.c b/t/helper/test-oidtree.c index 0b82431a70..edcb7e9f44 100644 --- a/t/helper/test-oidtree.c +++ b/t/helper/test-oidtree.c @@ -2,6 +2,7 @@ #include "cache.h" #include "hex.h" #include "oidtree.h" +#include "setup.h" static enum cb_next print_oid(const struct object_id *oid, void *data) { diff --git a/t/helper/test-pack-mtimes.c b/t/helper/test-pack-mtimes.c index 0e53dee9e5..75ca1505a3 100644 --- a/t/helper/test-pack-mtimes.c +++ b/t/helper/test-pack-mtimes.c @@ -5,6 +5,7 @@ #include "object-store.h" #include "packfile.h" #include "pack-mtimes.h" +#include "setup.h" static void dump_mtimes(struct packed_git *p) { diff --git a/t/helper/test-partial-clone.c b/t/helper/test-partial-clone.c index da17fd37eb..cce496944a 100644 --- a/t/helper/test-partial-clone.c +++ b/t/helper/test-partial-clone.c @@ -3,6 +3,7 @@ #include "test-tool.h" #include "repository.h" #include "object-store.h" +#include "setup.h" /* * Prints the size of the object corresponding to the given hash in a specific diff --git a/t/helper/test-path-utils.c b/t/helper/test-path-utils.c index cc266e3ec0..4f5ac2fadc 100644 --- a/t/helper/test-path-utils.c +++ b/t/helper/test-path-utils.c @@ -2,6 +2,7 @@ #include "cache.h" #include "abspath.h" #include "environment.h" +#include "setup.h" #include "string-list.h" #include "utf8.h" diff --git a/t/helper/test-proc-receive.c b/t/helper/test-proc-receive.c index 7e12d4f9aa..7c8de7b562 100644 --- a/t/helper/test-proc-receive.c +++ b/t/helper/test-proc-receive.c @@ -3,6 +3,7 @@ #include "hex.h" #include "parse-options.h" #include "pkt-line.h" +#include "setup.h" #include "sigchain.h" #include "test-tool.h" diff --git a/t/helper/test-reach.c b/t/helper/test-reach.c index 09c711038c..91bb2dec1d 100644 --- a/t/helper/test-reach.c +++ b/t/helper/test-reach.c @@ -8,6 +8,7 @@ #include "hex.h" #include "parse-options.h" #include "ref-filter.h" +#include "setup.h" #include "string-list.h" #include "tag.h" diff --git a/t/helper/test-read-cache.c b/t/helper/test-read-cache.c index 84818363d5..a4c24d0e42 100644 --- a/t/helper/test-read-cache.c +++ b/t/helper/test-read-cache.c @@ -2,6 +2,7 @@ #include "test-tool.h" #include "cache.h" #include "config.h" +#include "setup.h" #include "wrapper.h" int cmd__read_cache(int argc, const char **argv) diff --git a/t/helper/test-read-graph.c b/t/helper/test-read-graph.c index 98b73bb8f2..e21b0805f3 100644 --- a/t/helper/test-read-graph.c +++ b/t/helper/test-read-graph.c @@ -4,6 +4,7 @@ #include "repository.h" #include "object-store.h" #include "bloom.h" +#include "setup.h" int cmd__read_graph(int argc, const char **argv) { diff --git a/t/helper/test-read-midx.c b/t/helper/test-read-midx.c index 0a883cdf26..05c4f2b262 100644 --- a/t/helper/test-read-midx.c +++ b/t/helper/test-read-midx.c @@ -5,6 +5,7 @@ #include "repository.h" #include "object-store.h" #include "pack-bitmap.h" +#include "setup.h" static int read_midx_file(const char *object_dir, int show_objects) { diff --git a/t/helper/test-ref-store.c b/t/helper/test-ref-store.c index 1745b088b7..8717b95e84 100644 --- a/t/helper/test-ref-store.c +++ b/t/helper/test-ref-store.c @@ -2,6 +2,7 @@ #include "cache.h" #include "hex.h" #include "refs.h" +#include "setup.h" #include "worktree.h" #include "object-store.h" #include "repository.h" diff --git a/t/helper/test-repository.c b/t/helper/test-repository.c index c444775eb0..6774f6245f 100644 --- a/t/helper/test-repository.c +++ b/t/helper/test-repository.c @@ -8,6 +8,7 @@ #include "object-store.h" #include "object.h" #include "repository.h" +#include "setup.h" #include "tree.h" static void test_parse_commit_in_graph(const char *gitdir, const char *worktree, diff --git a/t/helper/test-revision-walking.c b/t/helper/test-revision-walking.c index 4a45d5bac2..f2df433406 100644 --- a/t/helper/test-revision-walking.c +++ b/t/helper/test-revision-walking.c @@ -13,6 +13,7 @@ #include "commit.h" #include "diff.h" #include "revision.h" +#include "setup.h" static void print_commit(struct commit *commit) { diff --git a/t/helper/test-scrap-cache-tree.c b/t/helper/test-scrap-cache-tree.c index a26107ed70..15b7688774 100644 --- a/t/helper/test-scrap-cache-tree.c +++ b/t/helper/test-scrap-cache-tree.c @@ -2,6 +2,7 @@ #include "test-tool.h" #include "cache.h" #include "lockfile.h" +#include "setup.h" #include "tree.h" #include "cache-tree.h" diff --git a/t/helper/test-serve-v2.c b/t/helper/test-serve-v2.c index 497d72058d..7d590ab722 100644 --- a/t/helper/test-serve-v2.c +++ b/t/helper/test-serve-v2.c @@ -3,6 +3,7 @@ #include "gettext.h" #include "parse-options.h" #include "serve.h" +#include "setup.h" static char const * const serve_usage[] = { N_("test-tool serve-v2 []"), diff --git a/t/helper/test-submodule-config.c b/t/helper/test-submodule-config.c index 22a41c4092..256bfa6e9e 100644 --- a/t/helper/test-submodule-config.c +++ b/t/helper/test-submodule-config.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "config.h" +#include "setup.h" #include "submodule-config.h" #include "submodule.h" diff --git a/t/helper/test-submodule-nested-repo-config.c b/t/helper/test-submodule-nested-repo-config.c index a3848a8b66..aaffd422d6 100644 --- a/t/helper/test-submodule-nested-repo-config.c +++ b/t/helper/test-submodule-nested-repo-config.c @@ -1,5 +1,6 @@ #include "test-tool.h" #include "cache.h" +#include "setup.h" #include "submodule-config.h" static void die_usage(const char **argv, const char *msg) diff --git a/t/helper/test-submodule.c b/t/helper/test-submodule.c index e060cc6226..f18ca46dce 100644 --- a/t/helper/test-submodule.c +++ b/t/helper/test-submodule.c @@ -3,6 +3,7 @@ #include "cache.h" #include "parse-options.h" #include "remote.h" +#include "setup.h" #include "submodule-config.h" #include "submodule.h" diff --git a/t/helper/test-subprocess.c b/t/helper/test-subprocess.c index ff22f2fa2c..65a355cc59 100644 --- a/t/helper/test-subprocess.c +++ b/t/helper/test-subprocess.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "run-command.h" +#include "setup.h" int cmd__subprocess(int argc, const char **argv) { diff --git a/t/helper/test-userdiff.c b/t/helper/test-userdiff.c index a2b56b9cae..0cd7ee12b7 100644 --- a/t/helper/test-userdiff.c +++ b/t/helper/test-userdiff.c @@ -1,5 +1,6 @@ #include "test-tool.h" #include "cache.h" +#include "setup.h" #include "userdiff.h" #include "config.h" diff --git a/t/helper/test-write-cache.c b/t/helper/test-write-cache.c index 7d45cd61e8..a93417ed3a 100644 --- a/t/helper/test-write-cache.c +++ b/t/helper/test-write-cache.c @@ -2,6 +2,7 @@ #include "test-tool.h" #include "cache.h" #include "lockfile.h" +#include "setup.h" int cmd__write_cache(int argc, const char **argv) { diff --git a/trace.c b/trace.c index 9c85b71ec6..81318a2455 100644 --- a/trace.c +++ b/trace.c @@ -25,6 +25,7 @@ #include "abspath.h" #include "environment.h" #include "quote.h" +#include "setup.h" #include "wrapper.h" struct trace_key trace_default_key = { "GIT_TRACE", 0, 0, 0 }; diff --git a/unpack-trees.c b/unpack-trees.c index 0ff4bbc6b9..a26fda3493 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -22,6 +22,7 @@ #include "promisor-remote.h" #include "entry.h" #include "parallel-checkout.h" +#include "setup.h" /* * Error messages expected by scripts out of plumbing commands such as diff --git a/worktree.c b/worktree.c index c2671b0cdf..7f0f04eab5 100644 --- a/worktree.c +++ b/worktree.c @@ -5,6 +5,7 @@ #include "gettext.h" #include "repository.h" #include "refs.h" +#include "setup.h" #include "strbuf.h" #include "worktree.h" #include "dir.h" diff --git a/wt-status.c b/wt-status.c index 106e46480a..16e0df5736 100644 --- a/wt-status.c +++ b/wt-status.c @@ -16,6 +16,7 @@ #include "refs.h" #include "submodule.h" #include "column.h" +#include "setup.h" #include "strbuf.h" #include "utf8.h" #include "worktree.h" -- cgit v1.3 From ecb5091fd4301ac647db0bd2504112b38f7ee06d Mon Sep 17 00:00:00 2001 From: Ævar Arnfjörð Bjarmason Date: Tue, 28 Mar 2023 15:58:48 +0200 Subject: cocci: apply the "commit.h" part of "the_repository.pending" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apply the part of "the_repository.pending.cocci" pertaining to "commit.h". Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- blame.c | 4 +- builtin/am.c | 7 ++- builtin/blame.c | 6 +- builtin/checkout.c | 13 ++-- builtin/commit.c | 8 +-- builtin/describe.c | 4 +- builtin/diff.c | 3 +- builtin/fast-export.c | 4 +- builtin/gc.c | 4 +- builtin/log.c | 5 +- builtin/merge-tree.c | 6 +- builtin/merge.c | 3 +- builtin/name-rev.c | 4 +- builtin/notes.c | 2 +- builtin/rebase.c | 2 +- builtin/replace.c | 4 +- builtin/shortlog.c | 5 +- builtin/show-branch.c | 4 +- commit-graph.c | 2 +- commit-reach.c | 16 ++--- commit.c | 25 ++++---- commit.h | 18 ------ contrib/coccinelle/the_repository.cocci | 19 ++++++ contrib/coccinelle/the_repository.pending.cocci | 19 ------ delta-islands.c | 5 +- fmt-merge-msg.c | 5 +- fsck.c | 4 +- http-push.c | 3 +- list-objects.c | 18 +++--- merge-recursive.c | 2 +- negotiator/default.c | 6 +- negotiator/skipping.c | 2 +- notes-merge.c | 5 +- notes-utils.c | 2 +- object-name.c | 8 +-- pack-bitmap-write.c | 3 +- pretty.c | 5 +- reflog.c | 2 +- revision.c | 12 ++-- sequencer.c | 82 +++++++++++++++---------- shallow.c | 4 +- t/helper/test-fast-rebase.c | 9 +-- tree.c | 2 +- walker.c | 4 +- 44 files changed, 196 insertions(+), 174 deletions(-) (limited to 'builtin/diff.c') diff --git a/blame.c b/blame.c index 8bfeaa1c63..af2b67c084 100644 --- a/blame.c +++ b/blame.c @@ -2429,7 +2429,7 @@ static void pass_blame(struct blame_scoreboard *sb, struct blame_origin *origin, if (sg_origin[i]) continue; - if (parse_commit(p)) + if (repo_parse_commit(the_repository, p)) continue; porigin = find(sb->repo, p, origin, sb->bloom_data); if (!porigin) @@ -2592,7 +2592,7 @@ void assign_blame(struct blame_scoreboard *sb, int opt) * so hold onto it in the meantime. */ blame_origin_incref(suspect); - parse_commit(commit); + repo_parse_commit(the_repository, commit); if (sb->reverse || (!(commit->object.flags & UNINTERESTING) && !(revs->max_age != -1 && commit->date < revs->max_age))) diff --git a/builtin/am.c b/builtin/am.c index c04038f1f3..456884852e 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -1329,7 +1329,8 @@ static void get_commit_info(struct am_state *state, struct commit *commit) size_t ident_len; struct ident_split id; - buffer = logmsg_reencode(commit, NULL, get_commit_output_encoding()); + buffer = repo_logmsg_reencode(the_repository, commit, NULL, + get_commit_output_encoding()); ident_line = find_commit_header(buffer, "author", &ident_len); if (!ident_line) @@ -1361,7 +1362,7 @@ static void get_commit_info(struct am_state *state, struct commit *commit) die(_("unable to parse commit %s"), oid_to_hex(&commit->object.oid)); state->msg = xstrdup(msg + 2); state->msg_len = strlen(state->msg); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); } /** @@ -1404,7 +1405,7 @@ static void write_index_patch(const struct am_state *state) if (!repo_get_oid(the_repository, "HEAD", &head)) { struct commit *commit = lookup_commit_or_die(&head, "HEAD"); - tree = get_commit_tree(commit); + tree = repo_get_commit_tree(the_repository, commit); } else tree = lookup_tree(the_repository, the_repository->hash_algo->empty_tree); diff --git a/builtin/blame.c b/builtin/blame.c index 0155062de1..91e04f57cc 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -199,13 +199,13 @@ static void get_commit_info(struct commit *commit, const char *message; encoding = get_log_output_encoding(); - message = logmsg_reencode(commit, NULL, encoding); + message = repo_logmsg_reencode(the_repository, commit, NULL, encoding); get_ac_line(message, "\nauthor ", &ret->author, &ret->author_mail, &ret->author_time, &ret->author_tz); if (!detailed) { - unuse_commit_buffer(commit, message); + repo_unuse_commit_buffer(the_repository, commit, message); return; } @@ -219,7 +219,7 @@ static void get_commit_info(struct commit *commit, else strbuf_addf(&ret->summary, "(%s)", oid_to_hex(&commit->object.oid)); - unuse_commit_buffer(commit, message); + repo_unuse_commit_buffer(the_repository, commit, message); } /* diff --git a/builtin/checkout.c b/builtin/checkout.c index 6216bb6bba..1d1f33e33e 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -640,7 +640,7 @@ static void describe_detached_head(const char *msg, struct commit *commit) { struct strbuf sb = STRBUF_INIT; - if (!parse_commit(commit)) + if (!repo_parse_commit(the_repository, commit)) pp_commit_easy(CMIT_FMT_ONELINE, commit, &sb); if (print_sha1_ellipsis()) { fprintf(stderr, "%s %s... %s\n", msg, @@ -755,7 +755,8 @@ static int merge_working_tree(const struct checkout_opts *opts, BUG("'switch --orphan' should never accept a commit as starting point"); new_tree = parse_tree_indirect(the_hash_algo->empty_tree); } else - new_tree = get_commit_tree(new_branch_info->commit); + new_tree = repo_get_commit_tree(the_repository, + new_branch_info->commit); if (opts->discard_changes) { ret = reset_tree(new_tree, opts, 1, writeout_error, new_branch_info); if (ret) @@ -817,7 +818,8 @@ static int merge_working_tree(const struct checkout_opts *opts, */ if (!old_branch_info->commit) return 1; - old_tree = get_commit_tree(old_branch_info->commit); + old_tree = repo_get_commit_tree(the_repository, + old_branch_info->commit); if (repo_index_has_changes(the_repository, old_tree, &sb)) die(_("cannot continue with staged changes in " @@ -1006,7 +1008,7 @@ static void describe_one_orphan(struct strbuf *sb, struct commit *commit) strbuf_addstr(sb, " "); strbuf_add_unique_abbrev(sb, &commit->object.oid, DEFAULT_ABBREV); strbuf_addch(sb, ' '); - if (!parse_commit(commit)) + if (!repo_parse_commit(the_repository, commit)) pp_commit_easy(CMIT_FMT_ONELINE, commit, sb); strbuf_addch(sb, '\n'); } @@ -1206,7 +1208,8 @@ static void setup_new_branch_info_and_source_tree( *source_tree = parse_tree_indirect(rev); } else { parse_commit_or_die(new_branch_info->commit); - *source_tree = get_commit_tree(new_branch_info->commit); + *source_tree = repo_get_commit_tree(the_repository, + new_branch_info->commit); } } diff --git a/builtin/commit.c b/builtin/commit.c index 80d1e31f25..bda6afc4bd 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -712,7 +712,7 @@ static void prepare_amend_commit(struct commit *commit, struct strbuf *sb, { const char *buffer, *subject, *fmt; - buffer = get_commit_buffer(commit, NULL); + buffer = repo_get_commit_buffer(the_repository, commit, NULL); find_commit_subject(buffer, &subject); /* * If we amend the 'amend!' commit then we don't want to @@ -720,7 +720,7 @@ static void prepare_amend_commit(struct commit *commit, struct strbuf *sb, */ fmt = starts_with(subject, "amend!") ? "%b" : "%B"; format_commit_message(commit, fmt, sb, ctx); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); } static int prepare_to_commit(const char *index_file, const char *prefix, @@ -1183,7 +1183,7 @@ static const char *read_commit_message(const char *name) if (!commit) die(_("could not lookup commit %s"), name); out_enc = get_commit_output_encoding(); - return logmsg_reencode(commit, NULL, out_enc); + return repo_logmsg_reencode(the_repository, commit, NULL, out_enc); } /* @@ -1718,7 +1718,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix) current_head = NULL; else { current_head = lookup_commit_or_die(&oid, "HEAD"); - if (parse_commit(current_head)) + if (repo_parse_commit(the_repository, current_head)) die(_("could not parse HEAD commit")); } verbose = -1; /* unspecified */ diff --git a/builtin/describe.c b/builtin/describe.c index c85bf9c418..e880a86f37 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -261,7 +261,7 @@ static unsigned long finish_depth_computation( best->depth++; while (parents) { struct commit *p = parents->item; - parse_commit(p); + repo_parse_commit(the_repository, p); if (!(p->object.flags & SEEN)) commit_list_insert_by_date(p, list); p->object.flags |= c->object.flags; @@ -404,7 +404,7 @@ static void describe_commit(struct object_id *oid, struct strbuf *dst) } while (parents) { struct commit *p = parents->item; - parse_commit(p); + repo_parse_commit(the_repository, p); if (!(p->object.flags & SEEN)) commit_list_insert_by_date(p, &list); p->object.flags |= c->object.flags; diff --git a/builtin/diff.c b/builtin/diff.c index 26f1e532c6..1091c377af 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -548,7 +548,8 @@ int cmd_diff(int argc, const char **argv, const char *prefix) if (!obj) die(_("invalid object '%s' given."), name); if (obj->type == OBJ_COMMIT) - obj = &get_commit_tree(((struct commit *)obj))->object; + obj = &repo_get_commit_tree(the_repository, + ((struct commit *)obj))->object; if (obj->type == OBJ_TREE) { if (sdiff.skip && bitmap_get(sdiff.skip, i)) diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 39a890fc00..5fe7c02970 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -618,7 +618,7 @@ static void handle_commit(struct commit *commit, struct rev_info *rev, rev->diffopt.output_format = DIFF_FORMAT_CALLBACK; parse_commit_or_die(commit); - commit_buffer = get_commit_buffer(commit, NULL); + commit_buffer = repo_get_commit_buffer(the_repository, commit, NULL); author = strstr(commit_buffer, "\nauthor "); if (!author) die("could not find author in commit %s", @@ -699,7 +699,7 @@ static void handle_commit(struct commit *commit, struct rev_info *rev, ? strlen(message) : 0), reencoded ? reencoded : message ? message : ""); free(reencoded); - unuse_commit_buffer(commit, commit_buffer); + repo_unuse_commit_buffer(the_repository, commit, commit_buffer); for (i = 0, p = commit->parents; p; p = p->next) { struct object *obj = &p->item->object; diff --git a/builtin/gc.c b/builtin/gc.c index 02455fdcd7..e60decbc56 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -820,7 +820,7 @@ static int dfs_on_ref(const char *refname UNUSED, commit = lookup_commit(the_repository, oid); if (!commit) return 0; - if (parse_commit(commit) || + if (repo_parse_commit(the_repository, commit) || commit_graph_position(commit) != COMMIT_NOT_FROM_GRAPH) return 0; @@ -837,7 +837,7 @@ static int dfs_on_ref(const char *refname UNUSED, commit = pop_commit(&stack); for (parent = commit->parents; parent; parent = parent->next) { - if (parse_commit(parent->item) || + if (repo_parse_commit(the_repository, parent->item) || commit_graph_position(parent->item) != COMMIT_NOT_FROM_GRAPH || parent->item->object.flags & SEEN) continue; diff --git a/builtin/log.c b/builtin/log.c index 5604b4b5f0..f249aca049 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1314,10 +1314,11 @@ static void make_cover_letter(struct rev_info *rev, int use_separate_file, log_write_email_headers(rev, head, &pp.after_subject, &need_8bit_cte, 0); for (i = 0; !need_8bit_cte && i < nr; i++) { - const char *buf = get_commit_buffer(list[i], NULL); + const char *buf = repo_get_commit_buffer(the_repository, + list[i], NULL); if (has_non_ascii(buf)) need_8bit_cte = 1; - unuse_commit_buffer(list[i], buf); + repo_unuse_commit_buffer(the_repository, list[i], buf); } if (!branch_name) diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index 4e4a9d6ba1..c0acbc6a54 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -443,9 +443,9 @@ static int real_merge(struct merge_tree_options *o, die(_("could not lookup commit %s"), merge_base); opt.ancestor = merge_base; - base_tree = get_commit_tree(base_commit); - parent1_tree = get_commit_tree(parent1); - parent2_tree = get_commit_tree(parent2); + base_tree = repo_get_commit_tree(the_repository, base_commit); + parent1_tree = repo_get_commit_tree(the_repository, parent1); + parent2_tree = repo_get_commit_tree(the_repository, parent2); merge_incore_nonrecursive(&opt, base_tree, parent1_tree, parent2_tree, &result); } else { /* diff --git a/builtin/merge.c b/builtin/merge.c index c5a9321806..197e152aba 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -1611,7 +1611,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix) * Must first ensure that index matches HEAD before * attempting a trivial merge. */ - struct tree *head_tree = get_commit_tree(head_commit); + struct tree *head_tree = repo_get_commit_tree(the_repository, + head_commit); struct strbuf sb = STRBUF_INIT; if (repo_index_has_changes(the_repository, head_tree, diff --git a/builtin/name-rev.c b/builtin/name-rev.c index 35fd89f794..ad1de02308 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -181,7 +181,7 @@ static void name_rev(struct commit *start_commit, size_t parents_to_queue_nr, parents_to_queue_alloc = 0; struct rev_name *start_name; - parse_commit(start_commit); + repo_parse_commit(the_repository, start_commit); if (commit_is_before_cutoff(start_commit)) return; @@ -211,7 +211,7 @@ static void name_rev(struct commit *start_commit, struct rev_name *parent_name; int generation, distance; - parse_commit(parent); + repo_parse_commit(the_repository, parent); if (commit_is_before_cutoff(parent)) continue; diff --git a/builtin/notes.c b/builtin/notes.c index d98460e5d6..b497eae520 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -720,7 +720,7 @@ static int merge_commit(struct notes_merge_options *o) die(_("failed to read ref NOTES_MERGE_PARTIAL")); else if (!(partial = lookup_commit_reference(the_repository, &oid))) die(_("could not find commit from NOTES_MERGE_PARTIAL.")); - else if (parse_commit(partial)) + else if (repo_parse_commit(the_repository, partial)) die(_("could not parse commit from NOTES_MERGE_PARTIAL.")); if (partial->parents) diff --git a/builtin/rebase.c b/builtin/rebase.c index 5fd7bfb486..eba48bffaa 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -853,7 +853,7 @@ static int checkout_up_to_date(struct rebase_options *options) static int is_linear_history(struct commit *from, struct commit *to) { while (to && to != from) { - parse_commit(to); + repo_parse_commit(the_repository, to); if (!to->parents) return 1; if (to->parents->next) diff --git a/builtin/replace.c b/builtin/replace.c index 33c6cdb79c..85f0b79c92 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -458,9 +458,9 @@ static int create_graft(int argc, const char **argv, int force, int gentle) if (!commit) return error(_("could not parse %s"), old_ref); - buffer = get_commit_buffer(commit, &size); + buffer = repo_get_commit_buffer(the_repository, commit, &size); strbuf_add(&buf, buffer, size); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); if (replace_parents(&buf, argc - 1, &argv[1]) < 0) { strbuf_release(&buf); diff --git a/builtin/shortlog.c b/builtin/shortlog.c index 27a87167e1..8afd1ad865 100644 --- a/builtin/shortlog.c +++ b/builtin/shortlog.c @@ -179,7 +179,8 @@ static void insert_records_from_trailers(struct shortlog *log, * Using format_commit_message("%B") would be simpler here, but * this saves us copying the message. */ - commit_buffer = logmsg_reencode(commit, NULL, ctx->output_encoding); + commit_buffer = repo_logmsg_reencode(the_repository, commit, NULL, + ctx->output_encoding); body = strstr(commit_buffer, "\n\n"); if (!body) return; @@ -202,7 +203,7 @@ static void insert_records_from_trailers(struct shortlog *log, trailer_iterator_release(&iter); strbuf_release(&ident); - unuse_commit_buffer(commit, commit_buffer); + repo_unuse_commit_buffer(the_repository, commit, commit_buffer); } static int shortlog_needs_dedup(const struct shortlog *log) diff --git a/builtin/show-branch.c b/builtin/show-branch.c index 9e3b8ed27e..d60e536a53 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -240,7 +240,7 @@ static void join_revs(struct commit_list **list_p, parents = parents->next; if ((this_flag & flags) == flags) continue; - parse_commit(p); + repo_parse_commit(the_repository, p); if (mark_seen(p, seen_p) && !still_interesting) extra--; p->object.flags |= flags; @@ -842,7 +842,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix) if (!commit) die(_("cannot find commit %s (%s)"), ref_name[num_rev], oid_to_hex(&revkey)); - parse_commit(commit); + repo_parse_commit(the_repository, commit); mark_seen(commit, &seen); /* rev#0 uses bit REV_SHIFT, rev#1 uses bit REV_SHIFT+1, diff --git a/commit-graph.c b/commit-graph.c index c11b59f28b..8273085aa6 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -2549,7 +2549,7 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g, int flags) graph_commit = lookup_commit(r, &cur_oid); odb_commit = (struct commit *)create_object(r, &cur_oid, alloc_commit_node(r)); - if (parse_commit_internal(odb_commit, 0, 0)) { + if (repo_parse_commit_internal(the_repository, odb_commit, 0, 0)) { graph_report(_("failed to parse commit %s from object database for commit-graph"), oid_to_hex(&cur_oid)); continue; diff --git a/commit-reach.c b/commit-reach.c index a4b9eda723..c88faf7e7b 100644 --- a/commit-reach.c +++ b/commit-reach.c @@ -585,7 +585,7 @@ int ref_newer(const struct object_id *new_oid, const struct object_id *old_oid) return 0; new_commit = (struct commit *) o; - if (parse_commit(new_commit) < 0) + if (repo_parse_commit(the_repository, new_commit) < 0) return 0; commit_list_insert(old_commit, &old_commit_list); @@ -749,7 +749,7 @@ int can_all_from_reach_with_flag(struct object_array *from, } list[nr_commits] = (struct commit *)from_one; - if (parse_commit(list[nr_commits]) || + if (repo_parse_commit(the_repository, list[nr_commits]) || commit_graph_generation(list[nr_commits]) < min_generation) { result = 0; goto cleanup; @@ -784,7 +784,7 @@ int can_all_from_reach_with_flag(struct object_array *from, if (!(parent->item->object.flags & assign_flag)) { parent->item->object.flags |= assign_flag; - if (parse_commit(parent->item) || + if (repo_parse_commit(the_repository, parent->item) || parent->item->date < min_commit_date || commit_graph_generation(parent->item) < min_generation) continue; @@ -826,7 +826,7 @@ int can_all_from_reach(struct commit_list *from, struct commit_list *to, while (from_iter) { add_object_array(&from_iter->item->object, NULL, &from_objs); - if (!parse_commit(from_iter->item)) { + if (!repo_parse_commit(the_repository, from_iter->item)) { timestamp_t generation; if (from_iter->item->date < min_commit_date) min_commit_date = from_iter->item->date; @@ -840,7 +840,7 @@ int can_all_from_reach(struct commit_list *from, struct commit_list *to, } while (to_iter) { - if (!parse_commit(to_iter->item)) { + if (!repo_parse_commit(the_repository, to_iter->item)) { timestamp_t generation; if (to_iter->item->date < min_commit_date) min_commit_date = to_iter->item->date; @@ -890,7 +890,7 @@ struct commit_list *get_reachable_subset(struct commit **from, int nr_from, timestamp_t generation; struct commit *c = *item; - parse_commit(c); + repo_parse_commit(the_repository, c); generation = commit_graph_generation(c); if (generation < min_generation) min_generation = generation; @@ -905,7 +905,7 @@ struct commit_list *get_reachable_subset(struct commit **from, int nr_from, struct commit *c = *item; if (!(c->object.flags & PARENT2)) { c->object.flags |= PARENT2; - parse_commit(c); + repo_parse_commit(the_repository, c); prio_queue_put(&queue, *item); } @@ -924,7 +924,7 @@ struct commit_list *get_reachable_subset(struct commit **from, int nr_from, for (parents = current->parents; parents; parents = parents->next) { struct commit *p = parents->item; - parse_commit(p); + repo_parse_commit(the_repository, p); if (commit_graph_generation(p) < min_generation) continue; diff --git a/commit.c b/commit.c index 62682f5564..6036376d05 100644 --- a/commit.c +++ b/commit.c @@ -83,7 +83,7 @@ struct commit *lookup_commit_reference_by_name(const char *name) if (repo_get_oid_committish(the_repository, name, &oid)) return NULL; commit = lookup_commit_reference(the_repository, &oid); - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return NULL; return commit; } @@ -382,7 +382,7 @@ struct tree *repo_get_commit_tree(struct repository *r, struct object_id *get_commit_tree_oid(const struct commit *commit) { - struct tree *tree = get_commit_tree(commit); + struct tree *tree = repo_get_commit_tree(the_repository, commit); return tree ? &tree->object.oid : NULL; } @@ -555,7 +555,7 @@ int repo_parse_commit_gently(struct repository *r, void parse_commit_or_die(struct commit *item) { - if (parse_commit(item)) + if (repo_parse_commit(the_repository, item)) die("unable to parse commit %s", item ? oid_to_hex(&item->object.oid) : "(null)"); } @@ -688,7 +688,7 @@ struct commit *pop_most_recent_commit(struct commit_list **list, while (parents) { struct commit *commit = parents->item; - if (!parse_commit(commit) && !(commit->object.flags & mark)) { + if (!repo_parse_commit(the_repository, commit) && !(commit->object.flags & mark)) { commit->object.flags |= mark; commit_list_insert_by_date(commit, list); } @@ -762,7 +762,8 @@ define_commit_slab(author_date_slab, timestamp_t); void record_author_date(struct author_date_slab *author_date, struct commit *commit) { - const char *buffer = get_commit_buffer(commit, NULL); + const char *buffer = repo_get_commit_buffer(the_repository, commit, + NULL); struct ident_split ident; const char *ident_line; size_t ident_len; @@ -782,7 +783,7 @@ void record_author_date(struct author_date_slab *author_date, *(author_date_slab_at(author_date, commit)) = date; fail_exit: - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); } int compare_commits_by_author_date(const void *a_, const void *b_, @@ -963,7 +964,7 @@ static void add_one_commit(struct object_id *oid, struct rev_collect *revs) commit = lookup_commit(the_repository, oid); if (!commit || (commit->object.flags & TMP_MARK) || - parse_commit(commit)) + repo_parse_commit(the_repository, commit)) return; ALLOC_GROW(revs->commit, revs->nr + 1, revs->alloc); @@ -1096,10 +1097,11 @@ int parse_signed_commit(const struct commit *commit, const struct git_hash_algo *algop) { unsigned long size; - const char *buffer = get_commit_buffer(commit, &size); + const char *buffer = repo_get_commit_buffer(the_repository, commit, + &size); int ret = parse_buffer_signed_by_header(buffer, size, payload, signature, algop); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); return ret; } @@ -1318,9 +1320,10 @@ struct commit_extra_header *read_commit_extra_headers(struct commit *commit, { struct commit_extra_header *extra = NULL; unsigned long size; - const char *buffer = get_commit_buffer(commit, &size); + const char *buffer = repo_get_commit_buffer(the_repository, commit, + &size); extra = read_commit_extra_header_lines(buffer, size, exclude); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); return extra; } diff --git a/commit.h b/commit.h index cc2c5da7bd..e98ee6e698 100644 --- a/commit.h +++ b/commit.h @@ -109,11 +109,6 @@ static inline int repo_parse_commit_no_graph(struct repository *r, return repo_parse_commit_internal(r, commit, 0, 0); } -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define parse_commit_internal(item, quiet, use) repo_parse_commit_internal(the_repository, item, quiet, use) -#define parse_commit(item) repo_parse_commit(the_repository, item) -#endif - void parse_commit_or_die(struct commit *item); struct buffer_slab; @@ -140,9 +135,6 @@ const void *get_cached_commit_buffer(struct repository *, const struct commit *, const void *repo_get_commit_buffer(struct repository *r, const struct commit *, unsigned long *size); -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define get_commit_buffer(c, s) repo_get_commit_buffer(the_repository, c, s) -#endif /* * Tell the commit subsystem that we are done with a particular commit buffer. @@ -153,9 +145,6 @@ const void *repo_get_commit_buffer(struct repository *r, void repo_unuse_commit_buffer(struct repository *r, const struct commit *, const void *buffer); -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define unuse_commit_buffer(c, b) repo_unuse_commit_buffer(the_repository, c, b) -#endif /* * Free any cached object buffer associated with the commit. @@ -163,7 +152,6 @@ void repo_unuse_commit_buffer(struct repository *r, void free_commit_buffer(struct parsed_object_pool *pool, struct commit *); struct tree *repo_get_commit_tree(struct repository *, const struct commit *); -#define get_commit_tree(c) repo_get_commit_tree(the_repository, c) struct object_id *get_commit_tree_oid(const struct commit *); /* @@ -206,16 +194,10 @@ void free_commit_list(struct commit_list *list); struct rev_info; /* in revision.h, it circularly uses enum cmit_fmt */ int has_non_ascii(const char *text); -const char *logmsg_reencode(const struct commit *commit, - char **commit_encoding, - const char *output_encoding); const char *repo_logmsg_reencode(struct repository *r, const struct commit *commit, char **commit_encoding, const char *output_encoding); -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define logmsg_reencode(c, enc, out) repo_logmsg_reencode(the_repository, c, enc, out) -#endif const char *skip_blank_lines(const char *msg); diff --git a/contrib/coccinelle/the_repository.cocci b/contrib/coccinelle/the_repository.cocci index 1ab63f0196..0cdf3f4630 100644 --- a/contrib/coccinelle/the_repository.cocci +++ b/contrib/coccinelle/the_repository.cocci @@ -54,6 +54,25 @@ | - in_merge_bases_many + repo_in_merge_bases_many +// commit.h +| +- parse_commit_internal ++ repo_parse_commit_internal +| +- parse_commit ++ repo_parse_commit +| +- get_commit_buffer ++ repo_get_commit_buffer +| +- unuse_commit_buffer ++ repo_unuse_commit_buffer +| +- logmsg_reencode ++ repo_logmsg_reencode +| +- get_commit_tree ++ repo_get_commit_tree ) ( + the_repository, diff --git a/contrib/coccinelle/the_repository.pending.cocci b/contrib/coccinelle/the_repository.pending.cocci index e9209fc0cc..bf19e6a248 100644 --- a/contrib/coccinelle/the_repository.pending.cocci +++ b/contrib/coccinelle/the_repository.pending.cocci @@ -5,26 +5,7 @@ @@ @@ ( -// commit.h -- parse_commit_internal -+ repo_parse_commit_internal -| -- parse_commit -+ repo_parse_commit -| -- get_commit_buffer -+ repo_get_commit_buffer -| -- unuse_commit_buffer -+ repo_unuse_commit_buffer -| -- logmsg_reencode -+ repo_logmsg_reencode -| -- get_commit_tree -+ repo_get_commit_tree // diff.h -| - diff_setup + repo_diff_setup // object-store.h diff --git a/delta-islands.c b/delta-islands.c index afdec0a878..05448851ad 100644 --- a/delta-islands.c +++ b/delta-islands.c @@ -506,8 +506,9 @@ void propagate_island_marks(struct commit *commit) struct commit_list *p; struct island_bitmap *root_marks = kh_value(island_marks, pos); - parse_commit(commit); - set_island_marks(&get_commit_tree(commit)->object, root_marks); + repo_parse_commit(the_repository, commit); + set_island_marks(&repo_get_commit_tree(the_repository, commit)->object, + root_marks); for (p = commit->parents; p; p = p->next) set_island_marks(&p->item->object, root_marks); } diff --git a/fmt-merge-msg.c b/fmt-merge-msg.c index e8e2d4ea0d..a5de91ba22 100644 --- a/fmt-merge-msg.c +++ b/fmt-merge-msg.c @@ -271,9 +271,10 @@ static void record_person_from_buf(int which, struct string_list *people, static void record_person(int which, struct string_list *people, struct commit *commit) { - const char *buffer = get_commit_buffer(commit, NULL); + const char *buffer = repo_get_commit_buffer(the_repository, commit, + NULL); record_person_from_buf(which, people, buffer); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); } static int cmp_string_list_util_as_integral(const void *a_, const void *b_) diff --git a/fsck.c b/fsck.c index 2b18717ee8..807a84971a 100644 --- a/fsck.c +++ b/fsck.c @@ -353,7 +353,7 @@ static int fsck_walk_commit(struct commit *commit, void *data, struct fsck_optio int result; const char *name; - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return -1; name = fsck_get_object_name(options, &commit->object.oid); @@ -361,7 +361,7 @@ static int fsck_walk_commit(struct commit *commit, void *data, struct fsck_optio fsck_put_object_name(options, get_commit_tree_oid(commit), "%s:", name); - result = options->walk((struct object *)get_commit_tree(commit), + result = options->walk((struct object *) repo_get_commit_tree(the_repository, commit), OBJ_TREE, data, options); if (result < 0) return result; diff --git a/http-push.c b/http-push.c index ceab00bd90..45d5cc0972 100644 --- a/http-push.c +++ b/http-push.c @@ -1331,7 +1331,8 @@ static int get_delta(struct rev_info *revs, struct remote_lock *lock) int count = 0; while ((commit = get_revision(revs)) != NULL) { - p = process_tree(get_commit_tree(commit), p); + p = process_tree(repo_get_commit_tree(the_repository, commit), + p); commit->object.flags |= LOCAL; if (!(commit->object.flags & UNINTERESTING)) count += add_send_request(&commit->object, lock); diff --git a/list-objects.c b/list-objects.c index 7528fe1db2..5550b3aafe 100644 --- a/list-objects.c +++ b/list-objects.c @@ -227,7 +227,8 @@ static void mark_edge_parents_uninteresting(struct commit *commit, struct commit *parent = parents->item; if (!(parent->object.flags & UNINTERESTING)) continue; - mark_tree_uninteresting(revs->repo, get_commit_tree(parent)); + mark_tree_uninteresting(revs->repo, + repo_get_commit_tree(the_repository, parent)); if (revs->edge_hint && !(parent->object.flags & SHOWN)) { parent->object.flags |= SHOWN; show_edge(parent); @@ -244,7 +245,8 @@ static void add_edge_parents(struct commit *commit, for (parents = commit->parents; parents; parents = parents->next) { struct commit *parent = parents->item; - struct tree *tree = get_commit_tree(parent); + struct tree *tree = repo_get_commit_tree(the_repository, + parent); if (!tree) continue; @@ -275,7 +277,8 @@ void mark_edges_uninteresting(struct rev_info *revs, for (list = revs->commits; list; list = list->next) { struct commit *commit = list->item; - struct tree *tree = get_commit_tree(commit); + struct tree *tree = repo_get_commit_tree(the_repository, + commit); if (commit->object.flags & UNINTERESTING) tree->object.flags |= UNINTERESTING; @@ -291,7 +294,7 @@ void mark_edges_uninteresting(struct rev_info *revs, struct commit *commit = list->item; if (commit->object.flags & UNINTERESTING) { mark_tree_uninteresting(revs->repo, - get_commit_tree(commit)); + repo_get_commit_tree(the_repository, commit)); if (revs->edge_hint_aggressive && !(commit->object.flags & SHOWN)) { commit->object.flags |= SHOWN; show_edge(commit); @@ -309,7 +312,7 @@ void mark_edges_uninteresting(struct rev_info *revs, if (obj->type != OBJ_COMMIT || !(obj->flags & UNINTERESTING)) continue; mark_tree_uninteresting(revs->repo, - get_commit_tree(commit)); + repo_get_commit_tree(the_repository, commit)); if (!(obj->flags & SHOWN)) { obj->flags |= SHOWN; show_edge(commit); @@ -376,8 +379,9 @@ static void do_traverse(struct traversal_context *ctx) */ if (!ctx->revs->tree_objects) ; /* do not bother loading tree */ - else if (get_commit_tree(commit)) { - struct tree *tree = get_commit_tree(commit); + else if (repo_get_commit_tree(the_repository, commit)) { + struct tree *tree = repo_get_commit_tree(the_repository, + commit); tree->object.flags |= NOT_USER_GIVEN; add_pending_tree(ctx->revs, tree); } else if (commit->object.parsed) { diff --git a/merge-recursive.c b/merge-recursive.c index 9771ef540c..75fa0ef318 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -3797,7 +3797,7 @@ static struct commit *get_ref(struct repository *repo, return make_virtual_commit(repo, (struct tree*)object, name); if (object->type != OBJ_COMMIT) return NULL; - if (parse_commit((struct commit *)object)) + if (repo_parse_commit(the_repository, (struct commit *)object)) return NULL; return (struct commit *)object; } diff --git a/negotiator/default.c b/negotiator/default.c index b7e79feaf0..658d9dd6b9 100644 --- a/negotiator/default.c +++ b/negotiator/default.c @@ -25,7 +25,7 @@ static void rev_list_push(struct negotiation_state *ns, if (!(commit->object.flags & mark)) { commit->object.flags |= mark; - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return; prio_queue_put(&ns->rev_list, commit); @@ -69,7 +69,7 @@ static void mark_common(struct negotiation_state *ns, struct commit *commit, if (!ancestors_only && !(o->flags & POPPED)) ns->non_common_revs--; if (!o->parsed && !dont_parse) - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return; for (parents = commit->parents; @@ -96,7 +96,7 @@ static const struct object_id *get_rev(struct negotiation_state *ns) return NULL; commit = prio_queue_get(&ns->rev_list); - parse_commit(commit); + repo_parse_commit(the_repository, commit); parents = commit->parents; commit->object.flags |= POPPED; diff --git a/negotiator/skipping.c b/negotiator/skipping.c index 0f5ac48e87..594639b25a 100644 --- a/negotiator/skipping.c +++ b/negotiator/skipping.c @@ -183,7 +183,7 @@ static const struct object_id *get_rev(struct data *data) if (!(commit->object.flags & COMMON) && !entry->ttl) to_send = commit; - parse_commit(commit); + repo_parse_commit(the_repository, commit); for (p = commit->parents; p; p = p->next) parent_pushed |= push_parent(data, entry, p->item); diff --git a/notes-merge.c b/notes-merge.c index fca9422a29..df1a16ac66 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -678,7 +678,8 @@ int notes_merge_commit(struct notes_merge_options *o, DIR *dir; struct dirent *e; struct strbuf path = STRBUF_INIT; - const char *buffer = get_commit_buffer(partial_commit, NULL); + const char *buffer = repo_get_commit_buffer(the_repository, + partial_commit, NULL); const char *msg = strstr(buffer, "\n\n"); int baselen; @@ -725,7 +726,7 @@ int notes_merge_commit(struct notes_merge_options *o, create_notes_commit(o->repo, partial_tree, partial_commit->parents, msg, strlen(msg), result_oid); - unuse_commit_buffer(partial_commit, buffer); + repo_unuse_commit_buffer(the_repository, partial_commit, buffer); if (o->verbosity >= 4) printf("Finalized notes merge commit: %s\n", oid_to_hex(result_oid)); diff --git a/notes-utils.c b/notes-utils.c index d7d18e30f5..0550cfded8 100644 --- a/notes-utils.c +++ b/notes-utils.c @@ -23,7 +23,7 @@ void create_notes_commit(struct repository *r, struct object_id parent_oid; if (!read_ref(t->ref, &parent_oid)) { struct commit *parent = lookup_commit(r, &parent_oid); - if (parse_commit(parent)) + if (repo_parse_commit(the_repository, parent)) die("Failed to find/parse commit %s", t->ref); commit_list_insert(parent, &parents); } diff --git a/object-name.c b/object-name.c index 21e8f67489..2926f26251 100644 --- a/object-name.c +++ b/object-name.c @@ -1036,7 +1036,7 @@ static enum get_oid_result get_parent(struct repository *r, if (ret) return ret; commit = lookup_commit_reference(r, &oid); - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return MISSING_OBJECT; if (!idx) { oidcpy(result, &commit->object.oid); @@ -1070,7 +1070,7 @@ static enum get_oid_result get_nth_ancestor(struct repository *r, return MISSING_OBJECT; while (generation--) { - if (parse_commit(commit) || !commit->parents) + if (repo_parse_commit(the_repository, commit) || !commit->parents) return MISSING_OBJECT; commit = commit->parents->item; } @@ -1361,10 +1361,10 @@ static int get_oid_oneline(struct repository *r, commit = pop_most_recent_commit(&list, ONELINE_SEEN); if (!parse_object(r, &commit->object.oid)) continue; - buf = get_commit_buffer(commit, NULL); + buf = repo_get_commit_buffer(the_repository, commit, NULL); p = strstr(buf, "\n\n"); matches = negative ^ (p && !regexec(®ex, p + 2, 0, NULL, 0)); - unuse_commit_buffer(commit, buf); + repo_unuse_commit_buffer(the_repository, commit, buf); if (matches) { oidcpy(oid, &commit->object.oid); diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c index cfa67a510f..84b6132893 100644 --- a/pack-bitmap-write.c +++ b/pack-bitmap-write.c @@ -425,7 +425,8 @@ static int fill_bitmap_commit(struct bb_commit *ent, if (!found) return -1; bitmap_set(ent->bitmap, pos); - prio_queue_put(tree_queue, get_commit_tree(c)); + prio_queue_put(tree_queue, + repo_get_commit_tree(the_repository, c)); for (p = c->parents; p; p = p->next) { pos = find_object_pos(&p->item->object.oid, &found); diff --git a/pretty.c b/pretty.c index 1e1e21878c..7e1614f67f 100644 --- a/pretty.c +++ b/pretty.c @@ -2204,7 +2204,8 @@ void pretty_print_commit(struct pretty_print_context *pp, } encoding = get_log_output_encoding(); - msg = reencoded = logmsg_reencode(commit, NULL, encoding); + msg = reencoded = repo_logmsg_reencode(the_repository, commit, NULL, + encoding); if (pp->fmt == CMIT_FMT_ONELINE || cmit_fmt_is_mail(pp->fmt)) indent = 0; @@ -2261,7 +2262,7 @@ void pretty_print_commit(struct pretty_print_context *pp, if (cmit_fmt_is_mail(pp->fmt) && sb->len <= beginning_of_body) strbuf_addch(sb, '\n'); - unuse_commit_buffer(commit, reencoded); + repo_unuse_commit_buffer(the_repository, commit, reencoded); } void pp_commit_easy(enum cmit_fmt fmt, const struct commit *commit, diff --git a/reflog.c b/reflog.c index 04630f56ec..6e8362e7a2 100644 --- a/reflog.c +++ b/reflog.c @@ -186,7 +186,7 @@ static void mark_reachable(struct expire_reflog_policy_cb *cb) struct commit *commit = pop_commit(&pending); if (commit->object.flags & REACHABLE) continue; - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) continue; commit->object.flags |= REACHABLE; if (commit->date < expire_limit) { diff --git a/revision.c b/revision.c index c2b7b2f107..79e78b6f7e 100644 --- a/revision.c +++ b/revision.c @@ -778,8 +778,8 @@ static int check_maybe_different_in_bloom_filter(struct rev_info *revs, static int rev_compare_tree(struct rev_info *revs, struct commit *parent, struct commit *commit, int nth_parent) { - struct tree *t1 = get_commit_tree(parent); - struct tree *t2 = get_commit_tree(commit); + struct tree *t1 = repo_get_commit_tree(the_repository, parent); + struct tree *t2 = repo_get_commit_tree(the_repository, commit); int bloom_ret = 1; if (!t1) @@ -825,7 +825,7 @@ static int rev_compare_tree(struct rev_info *revs, static int rev_same_tree_as_empty(struct rev_info *revs, struct commit *commit) { - struct tree *t1 = get_commit_tree(commit); + struct tree *t1 = repo_get_commit_tree(the_repository, commit); if (!t1) return 0; @@ -963,7 +963,7 @@ static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit) if (!revs->prune) return; - if (!get_commit_tree(commit)) + if (!repo_get_commit_tree(the_repository, commit)) return; if (!commit->parents) { @@ -3878,7 +3878,7 @@ static int commit_match(struct commit *commit, struct rev_info *opt) * in it. */ encoding = get_log_output_encoding(); - message = logmsg_reencode(commit, NULL, encoding); + message = repo_logmsg_reencode(the_repository, commit, NULL, encoding); /* Copy the commit to temporary if we are using "fake" headers */ if (buf.len) @@ -3914,7 +3914,7 @@ static int commit_match(struct commit *commit, struct rev_info *opt) retval = grep_buffer(&opt->grep_filter, (char *)message, strlen(message)); strbuf_release(&buf); - unuse_commit_buffer(commit, message); + repo_unuse_commit_buffer(the_repository, commit, message); return retval; } diff --git a/sequencer.c b/sequencer.c index d97923883f..592b3d2875 100644 --- a/sequencer.c +++ b/sequencer.c @@ -428,7 +428,8 @@ static int get_message(struct commit *commit, struct commit_message *out) const char *abbrev, *subject; int subject_len; - out->message = logmsg_reencode(commit, NULL, get_commit_output_encoding()); + out->message = repo_logmsg_reencode(the_repository, commit, NULL, + get_commit_output_encoding()); abbrev = short_commit_name(commit); subject_len = find_commit_subject(out->message, &subject); @@ -445,7 +446,7 @@ static void free_message(struct commit *commit, struct commit_message *msg) free(msg->parent_label); free(msg->label); free(msg->subject); - unuse_commit_buffer(commit, msg->message); + repo_unuse_commit_buffer(the_repository, commit, msg->message); } static void print_advice(struct repository *r, int show_hint, @@ -693,8 +694,8 @@ static int do_recursive_merge(struct repository *r, o.show_rename_progress = 1; head_tree = parse_tree_indirect(head); - next_tree = next ? get_commit_tree(next) : empty_tree(r); - base_tree = base ? get_commit_tree(base) : empty_tree(r); + next_tree = next ? repo_get_commit_tree(the_repository, next) : empty_tree(r); + base_tree = base ? repo_get_commit_tree(the_repository, base) : empty_tree(r); for (i = 0; i < opts->xopts_nr; i++) parse_merge_opt(&o, opts->xopts[i]); @@ -772,7 +773,7 @@ static int is_index_unchanged(struct repository *r) * the commit is invalid, parse_commit() will complain. So * there is nothing for us to say here. Just return failure. */ - if (parse_commit(head_commit)) + if (repo_parse_commit(the_repository, head_commit)) return -1; if (!(cache_tree_oid = get_cache_tree_oid(istate))) @@ -1337,7 +1338,7 @@ void print_commit_summary(struct repository *r, commit = lookup_commit(r, oid); if (!commit) die(_("couldn't look up newly created commit")); - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) die(_("could not parse newly created commit")); strbuf_addstr(&format, "format:%h] %s"); @@ -1417,7 +1418,7 @@ static int parse_head(struct repository *r, struct commit **head) warning(_("HEAD %s is not a commit!"), oid_to_hex(&oid)); } - if (parse_commit(current_head)) + if (repo_parse_commit(the_repository, current_head)) return error(_("could not parse HEAD commit")); } *head = current_head; @@ -1460,8 +1461,9 @@ static int try_to_commit(struct repository *r, if (flags & AMEND_MSG) { const char *exclude_gpgsig[] = { "gpgsig", "gpgsig-sha256", NULL }; const char *out_enc = get_commit_output_encoding(); - const char *message = logmsg_reencode(current_head, NULL, - out_enc); + const char *message = repo_logmsg_reencode(the_repository, + current_head, NULL, + out_enc); if (!msg) { const char *orig_message = NULL; @@ -1472,7 +1474,8 @@ static int try_to_commit(struct repository *r, hook_commit = "HEAD"; } author = amend_author = get_author(message); - unuse_commit_buffer(current_head, message); + repo_unuse_commit_buffer(the_repository, current_head, + message); if (!author) { res = error(_("unable to parse commit author")); goto out; @@ -1669,12 +1672,12 @@ static int is_original_commit_empty(struct commit *commit) { const struct object_id *ptree_oid; - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return error(_("could not parse commit %s"), oid_to_hex(&commit->object.oid)); if (commit->parents) { struct commit *parent = commit->parents->item; - if (parse_commit(parent)) + if (repo_parse_commit(the_repository, parent)) return error(_("could not parse parent commit %s"), oid_to_hex(&parent->object.oid)); ptree_oid = get_commit_tree_oid(parent); @@ -2002,13 +2005,14 @@ static int update_squash_messages(struct repository *r, return error(_("need a HEAD to fixup")); if (!(head_commit = lookup_commit_reference(r, &head))) return error(_("could not read HEAD")); - if (!(head_message = logmsg_reencode(head_commit, NULL, encoding))) + if (!(head_message = repo_logmsg_reencode(the_repository, head_commit, NULL, encoding))) return error(_("could not read HEAD's commit message")); find_commit_subject(head_message, &body); if (command == TODO_FIXUP && !flag && write_message(body, strlen(body), rebase_path_fixup_msg(), 0) < 0) { - unuse_commit_buffer(head_commit, head_message); + repo_unuse_commit_buffer(the_repository, head_commit, + head_message); return error(_("cannot write '%s'"), rebase_path_fixup_msg()); } strbuf_addf(&buf, "%c ", comment_line_char); @@ -2023,10 +2027,11 @@ static int update_squash_messages(struct repository *r, else strbuf_addstr(&buf, body); - unuse_commit_buffer(head_commit, head_message); + repo_unuse_commit_buffer(the_repository, head_commit, + head_message); } - if (!(message = logmsg_reencode(commit, NULL, encoding))) + if (!(message = repo_logmsg_reencode(the_repository, commit, NULL, encoding))) return error(_("could not read commit message of %s"), oid_to_hex(&commit->object.oid)); find_commit_subject(message, &body); @@ -2041,7 +2046,7 @@ static int update_squash_messages(struct repository *r, strbuf_add_commented_lines(&buf, body, strlen(body)); } else return error(_("unknown command: %d"), command); - unuse_commit_buffer(commit, message); + repo_unuse_commit_buffer(the_repository, commit, message); if (!res) res = write_message(buf.buf, buf.len, rebase_path_squash_msg(), @@ -2215,7 +2220,7 @@ static int do_pick_commit(struct repository *r, msg_file = NULL; goto fast_forward_edit; } - if (parent && parse_commit(parent) < 0) + if (parent && repo_parse_commit(the_repository, parent) < 0) /* TRANSLATORS: The first %s will be a "todo" command like "revert" or "pick", the second %s a SHA1. */ return error(_("%s: cannot parse parent commit %s"), @@ -3123,7 +3128,9 @@ static int walk_revs_populate_todo(struct todo_list *todo_list, while ((commit = get_revision(opts->revs))) { struct todo_item *item = append_new_todo(todo_list); - const char *commit_buffer = logmsg_reencode(commit, NULL, encoding); + const char *commit_buffer = repo_logmsg_reencode(the_repository, + commit, NULL, + encoding); const char *subject; int subject_len; @@ -3135,7 +3142,8 @@ static int walk_revs_populate_todo(struct todo_list *todo_list, subject_len = find_commit_subject(commit_buffer, &subject); strbuf_addf(&todo_list->buf, "%s %s %.*s\n", command_string, short_commit_name(commit), subject_len, subject); - unuse_commit_buffer(commit, commit_buffer); + repo_unuse_commit_buffer(the_repository, commit, + commit_buffer); } if (!todo_list->nr) @@ -3519,10 +3527,13 @@ static int make_patch(struct repository *r, strbuf_addf(&buf, "%s/message", get_dir(opts)); if (!file_exists(buf.buf)) { const char *encoding = get_commit_output_encoding(); - const char *commit_buffer = logmsg_reencode(commit, NULL, encoding); + const char *commit_buffer = repo_logmsg_reencode(the_repository, + commit, NULL, + encoding); find_commit_subject(commit_buffer, &subject); res |= write_message(subject, strlen(subject), buf.buf, 1); - unuse_commit_buffer(commit, commit_buffer); + repo_unuse_commit_buffer(the_repository, commit, + commit_buffer); } strbuf_release(&buf); release_revisions(&log_tree_opt); @@ -3989,7 +4000,9 @@ static int do_merge(struct repository *r, if (commit) { const char *encoding = get_commit_output_encoding(); - const char *message = logmsg_reencode(commit, NULL, encoding); + const char *message = repo_logmsg_reencode(the_repository, + commit, NULL, + encoding); const char *body; int len; @@ -4002,7 +4015,7 @@ static int do_merge(struct repository *r, find_commit_subject(message, &body); len = strlen(body); ret = write_message(body, len, git_path_merge_msg(r), 0); - unuse_commit_buffer(commit, message); + repo_unuse_commit_buffer(the_repository, commit, message); if (ret) { error_errno(_("could not write '%s'"), git_path_merge_msg(r)); @@ -4585,7 +4598,7 @@ static int stopped_at_head(struct repository *r) if (repo_get_oid(the_repository, "HEAD", &head) || !(commit = lookup_commit(r, &head)) || - parse_commit(commit) || get_message(commit, &message)) + repo_parse_commit(the_repository, commit) || get_message(commit, &message)) fprintf(stderr, _("Stopped at HEAD\n")); else { fprintf(stderr, _("Stopped at %s\n"), message.label); @@ -5042,13 +5055,15 @@ static int commit_staged_changes(struct repository *r, const char *encoding = get_commit_output_encoding(); if (parse_head(r, &commit) || - !(p = logmsg_reencode(commit, NULL, encoding)) || + !(p = repo_logmsg_reencode(the_repository, commit, NULL, encoding)) || write_message(p, strlen(p), path, 0)) { - unuse_commit_buffer(commit, p); + repo_unuse_commit_buffer(the_repository, + commit, p); return error(_("could not write file: " "'%s'"), path); } - unuse_commit_buffer(commit, p); + repo_unuse_commit_buffer(the_repository, + commit, p); } } @@ -5925,7 +5940,7 @@ static int skip_unnecessary_picks(struct repository *r, continue; if (item->command != TODO_PICK) break; - if (parse_commit(item->commit)) { + if (repo_parse_commit(the_repository, item->commit)) { return error(_("could not parse commit '%s'"), oid_to_hex(&item->commit->object.oid)); } @@ -6258,12 +6273,15 @@ int todo_list_rearrange_squash(struct todo_list *todo_list) return error(_("the script was already rearranged.")); } - parse_commit(item->commit); - commit_buffer = logmsg_reencode(item->commit, NULL, "UTF-8"); + repo_parse_commit(the_repository, item->commit); + commit_buffer = repo_logmsg_reencode(the_repository, + item->commit, NULL, + "UTF-8"); find_commit_subject(commit_buffer, &subject); format_subject(&buf, subject, " "); subject = subjects[i] = strbuf_detach(&buf, &subject_len); - unuse_commit_buffer(item->commit, commit_buffer); + repo_unuse_commit_buffer(the_repository, item->commit, + commit_buffer); if (skip_fixupish(subject, &p)) { struct commit *commit2; diff --git a/shallow.c b/shallow.c index 0fcdfd7d35..1a2b159fd4 100644 --- a/shallow.c +++ b/shallow.c @@ -247,7 +247,7 @@ struct commit_list *get_shallow_commits_by_rev_list(int ac, const char **av, struct commit *c = p->item; struct commit_list *parent; - if (parse_commit(c)) + if (repo_parse_commit(the_repository, c)) die("unable to parse commit %s", oid_to_hex(&c->object.oid)); @@ -583,7 +583,7 @@ static void paint_down(struct paint_info *info, const struct object_id *oid, if (c->object.flags & BOTTOM) continue; - if (parse_commit(c)) + if (repo_parse_commit(the_repository, c)) die("unable to parse commit %s", oid_to_hex(&c->object.oid)); diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c index 5d1284328d..214612846a 100644 --- a/t/helper/test-fast-rebase.c +++ b/t/helper/test-fast-rebase.c @@ -65,7 +65,8 @@ static struct commit *create_commit(struct tree *tree, struct commit_extra_header *extra; struct strbuf msg = STRBUF_INIT; const char *out_enc = get_commit_output_encoding(); - const char *message = logmsg_reencode(based_on, NULL, out_enc); + const char *message = repo_logmsg_reencode(the_repository, based_on, + NULL, out_enc); const char *orig_message = NULL; const char *exclude_gpgsig[] = { "gpgsig", NULL }; @@ -156,7 +157,7 @@ int cmd__fast_rebase(int argc, const char **argv) memset(&result, 0, sizeof(result)); merge_opt.show_rename_progress = 1; merge_opt.branch1 = "HEAD"; - head_tree = get_commit_tree(onto); + head_tree = repo_get_commit_tree(the_repository, onto); result.tree = head_tree; last_commit = onto; while ((commit = get_revision(&revs))) { @@ -167,8 +168,8 @@ int cmd__fast_rebase(int argc, const char **argv) assert(commit->parents && !commit->parents->next); base = commit->parents->item; - next_tree = get_commit_tree(commit); - base_tree = get_commit_tree(base); + next_tree = repo_get_commit_tree(the_repository, commit); + base_tree = repo_get_commit_tree(the_repository, base); merge_opt.branch2 = short_commit_name(commit); merge_opt.ancestor = xstrfmt("parent of %s", merge_opt.branch2); diff --git a/tree.c b/tree.c index 410e3b477e..f0742f4167 100644 --- a/tree.c +++ b/tree.c @@ -58,7 +58,7 @@ int read_tree_at(struct repository *r, oid_to_hex(&entry.oid), base->buf, entry.path); - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) die("Invalid commit %s in submodule path %s%s", oid_to_hex(&entry.oid), base->buf, entry.path); diff --git a/walker.c b/walker.c index 99d0e0eae0..98d65a559b 100644 --- a/walker.c +++ b/walker.c @@ -79,7 +79,7 @@ static int process_commit(struct walker *walker, struct commit *commit) { struct commit_list *parents; - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return -1; while (complete && complete->item->date >= commit->date) { @@ -93,7 +93,7 @@ static int process_commit(struct walker *walker, struct commit *commit) walker_say(walker, "walk %s\n", oid_to_hex(&commit->object.oid)); - if (process(walker, &get_commit_tree(commit)->object)) + if (process(walker, &repo_get_commit_tree(the_repository, commit)->object)) return -1; for (parents = commit->parents; parents; parents = parents->next) { -- cgit v1.3 From 6ba21fa65cbdf97aac337a2857f8ffb072dda29c Mon Sep 17 00:00:00 2001 From: Jeff King Date: Tue, 28 Mar 2023 16:57:04 -0400 Subject: mark "argv" as unused when we check argc A few commands don't take any options at all, and confirm this by checking argc. After that they have no need to look at argv, but we're still stuck with it by convention. Let's annotate these cases so that the compiler doesn't complain with -Wunused-parameter. Note that in scalar and get-tar-commit-id, we're forced to keep argv by calling convention (the functions must match cmd_main() and builtin cmd_foo() conventions, respectively). In diff, these are subcommand modes that we call individually, so we _could_ just drop the argv parameters entirely. But it's weird to pass argc without argv, and it implies that the caller knows that the subcommands aren't interested in further arguments. It's less confusing to just keep them and silence the compiler warning. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- builtin/diff.c | 6 +++--- builtin/get-tar-commit-id.c | 2 +- scalar.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'builtin/diff.c') diff --git a/builtin/diff.c b/builtin/diff.c index 26f1e532c6..bc9da7bcb6 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -74,7 +74,7 @@ static void stuff_change(struct diff_options *opt, } static int builtin_diff_b_f(struct rev_info *revs, - int argc, const char **argv, + int argc, const char **argv UNUSED, struct object_array_entry **blob) { /* Blob vs file in the working tree*/ @@ -109,7 +109,7 @@ static int builtin_diff_b_f(struct rev_info *revs, } static int builtin_diff_blobs(struct rev_info *revs, - int argc, const char **argv, + int argc, const char **argv UNUSED, struct object_array_entry **blob) { const unsigned mode = canon_mode(S_IFREG | 0644); @@ -209,7 +209,7 @@ static int builtin_diff_tree(struct rev_info *revs, } static int builtin_diff_combined(struct rev_info *revs, - int argc, const char **argv, + int argc, const char **argv UNUSED, struct object_array_entry *ent, int ents, int first_non_parent) { diff --git a/builtin/get-tar-commit-id.c b/builtin/get-tar-commit-id.c index 8f8f2ac3e6..4324d39fb4 100644 --- a/builtin/get-tar-commit-id.c +++ b/builtin/get-tar-commit-id.c @@ -14,7 +14,7 @@ static const char builtin_get_tar_commit_id_usage[] = #define RECORDSIZE (512) #define HEADERSIZE (2 * RECORDSIZE) -int cmd_get_tar_commit_id(int argc, const char **argv, const char *prefix) +int cmd_get_tar_commit_id(int argc, const char **argv UNUSED, const char *prefix) { char buffer[HEADERSIZE]; struct ustar_header *header = (struct ustar_header *)buffer; diff --git a/scalar.c b/scalar.c index ca19b95ce4..c7b8c16c8e 100644 --- a/scalar.c +++ b/scalar.c @@ -563,7 +563,7 @@ static int cmd_diagnose(int argc, const char **argv) return res; } -static int cmd_list(int argc, const char **argv) +static int cmd_list(int argc, const char **argv UNUSED) { if (argc != 1) die(_("`scalar list` does not take arguments")); -- cgit v1.3 From d4a4f9291d63b48b368f79bce3151bee9ca28009 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Sat, 22 Apr 2023 20:17:26 +0000 Subject: commit.h: reduce unnecessary includes Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- add-interactive.c | 1 + archive.c | 2 ++ bloom.c | 1 + builtin/diff-tree.c | 1 + builtin/diff.c | 1 + builtin/gc.c | 1 + builtin/log.c | 1 + builtin/merge-tree.c | 1 + combine-diff.c | 1 + commit-graph.c | 1 + commit.c | 1 + commit.h | 11 ++++------- dir.c | 1 + fetch-pack.c | 1 + fsck.c | 1 + gpg-interface.c | 1 + grep.c | 1 + http-push.c | 1 + log-tree.c | 1 + merge-ort-wrappers.c | 1 + merge.c | 1 + notes-cache.c | 1 + notes-utils.c | 1 + object-name.c | 1 + pack-bitmap-write.c | 1 + parse-options-cb.c | 1 + parse-options.c | 1 + read-cache.c | 1 + ref-filter.c | 1 + reflog.c | 1 + refs/debug.c | 1 + refspec.c | 1 + revision.h | 1 + send-pack.c | 1 + wt-status.c | 1 + 35 files changed, 39 insertions(+), 7 deletions(-) (limited to 'builtin/diff.c') diff --git a/add-interactive.c b/add-interactive.c index 757a9929d4..de877ca052 100644 --- a/add-interactive.c +++ b/add-interactive.c @@ -12,6 +12,7 @@ #include "dir.h" #include "run-command.h" #include "prompt.h" +#include "tree.h" static void init_color(struct repository *r, struct add_i_state *s, const char *section_and_slot, char *dst, diff --git a/archive.c b/archive.c index ab8966d73a..6226e16b25 100644 --- a/archive.c +++ b/archive.c @@ -6,10 +6,12 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "pretty.h" #include "setup.h" #include "refs.h" #include "object-store.h" #include "commit.h" +#include "tree.h" #include "tree-walk.h" #include "attr.h" #include "archive.h" diff --git a/bloom.c b/bloom.c index d0730525da..aef6b5fea2 100644 --- a/bloom.c +++ b/bloom.c @@ -6,6 +6,7 @@ #include "hashmap.h" #include "commit-graph.h" #include "commit.h" +#include "commit-slab.h" define_commit_slab(bloom_filter_slab, struct bloom_filter); diff --git a/builtin/diff-tree.c b/builtin/diff-tree.c index 385c2d0230..0b02c62b85 100644 --- a/builtin/diff-tree.c +++ b/builtin/diff-tree.c @@ -9,6 +9,7 @@ #include "builtin.h" #include "submodule.h" #include "repository.h" +#include "tree.h" static struct rev_info log_tree_opt; diff --git a/builtin/diff.c b/builtin/diff.c index 8f386535d6..457dee1445 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -22,6 +22,7 @@ #include "setup.h" #include "submodule.h" #include "oid-array.h" +#include "tree.h" #define DIFF_NO_INDEX_EXPLICIT 1 #define DIFF_NO_INDEX_IMPLICIT 2 diff --git a/builtin/gc.c b/builtin/gc.c index b95154fba1..d11712b144 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -12,6 +12,7 @@ #include "builtin.h" #include "abspath.h" +#include "date.h" #include "environment.h" #include "hex.h" #include "repository.h" diff --git a/builtin/log.c b/builtin/log.c index 95de51921f..137b84b31e 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -44,6 +44,7 @@ #include "commit-reach.h" #include "range-diff.h" #include "tmp-objdir.h" +#include "tree.h" #include "write-or-die.h" #define MAIL_DEFAULT_WRAP 72 diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index 6b9f006ec1..aa8040c2a6 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -16,6 +16,7 @@ #include "exec-cmd.h" #include "merge-blobs.h" #include "quote.h" +#include "tree.h" static int line_termination = '\n'; diff --git a/combine-diff.c b/combine-diff.c index f8d6196577..1e3cd7fb17 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -13,6 +13,7 @@ #include "xdiff/xmacros.h" #include "log-tree.h" #include "refs.h" +#include "tree.h" #include "userdiff.h" #include "oid-array.h" #include "revision.h" diff --git a/commit-graph.c b/commit-graph.c index 0c4f226644..6f612f368b 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -23,6 +23,7 @@ #include "shallow.h" #include "json-writer.h" #include "trace2.h" +#include "tree.h" #include "chunk-format.h" #include "wrapper.h" diff --git a/commit.c b/commit.c index 878b4473e4..10676165a1 100644 --- a/commit.c +++ b/commit.c @@ -26,6 +26,7 @@ #include "run-command.h" #include "setup.h" #include "shallow.h" +#include "tree.h" #include "hook.h" static struct commit_extra_header *read_commit_extra_header_lines(const char *buf, size_t len, const char **); diff --git a/commit.h b/commit.h index 69b2f376e9..28928833c5 100644 --- a/commit.h +++ b/commit.h @@ -2,13 +2,10 @@ #define COMMIT_H #include "object.h" -#include "tree.h" -#include "strbuf.h" -#include "decorate.h" -#include "gpg-interface.h" -#include "string-list.h" -#include "pretty.h" -#include "commit-slab.h" + +struct signature_check; +struct strbuf; +struct tree; #define COMMIT_NOT_FROM_GRAPH 0xFFFFFFFF #define GENERATION_NUMBER_INFINITY ((1ULL << 63) - 1) diff --git a/dir.c b/dir.c index ed262fa6e4..a7469df3ac 100644 --- a/dir.c +++ b/dir.c @@ -27,6 +27,7 @@ #include "submodule-config.h" #include "symlinks.h" #include "trace2.h" +#include "tree.h" #include "wrapper.h" /* diff --git a/fetch-pack.c b/fetch-pack.c index 677102465a..a9745bd9fa 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "repository.h" #include "config.h" +#include "date.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/fsck.c b/fsck.c index adbe8bf59e..3261ef9ec2 100644 --- a/fsck.c +++ b/fsck.c @@ -1,5 +1,6 @@ #include "git-compat-util.h" #include "alloc.h" +#include "date.h" #include "hex.h" #include "object-store.h" #include "repository.h" diff --git a/gpg-interface.c b/gpg-interface.c index 8615dcd4b4..49d72c2066 100644 --- a/gpg-interface.c +++ b/gpg-interface.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "commit.h" #include "config.h" +#include "date.h" #include "gettext.h" #include "run-command.h" #include "strbuf.h" diff --git a/grep.c b/grep.c index d144b37489..e620e375b1 100644 --- a/grep.c +++ b/grep.c @@ -4,6 +4,7 @@ #include "grep.h" #include "hex.h" #include "object-store.h" +#include "pretty.h" #include "userdiff.h" #include "xdiff-interface.h" #include "diff.h" diff --git a/http-push.c b/http-push.c index 637a4e91f7..3f18498636 100644 --- a/http-push.c +++ b/http-push.c @@ -15,6 +15,7 @@ #include "setup.h" #include "sigchain.h" #include "strvec.h" +#include "tree.h" #include "packfile.h" #include "object-store.h" #include "commit-reach.h" diff --git a/log-tree.c b/log-tree.c index b5cf3d8439..8861900b59 100644 --- a/log-tree.c +++ b/log-tree.c @@ -24,6 +24,7 @@ #include "help.h" #include "range-diff.h" #include "strmap.h" +#include "tree.h" #include "write-or-die.h" static struct decoration name_decoration = { "object names" }; diff --git a/merge-ort-wrappers.c b/merge-ort-wrappers.c index 2c47c5a623..a550753300 100644 --- a/merge-ort-wrappers.c +++ b/merge-ort-wrappers.c @@ -3,6 +3,7 @@ #include "hash.h" #include "merge-ort.h" #include "merge-ort-wrappers.h" +#include "tree.h" #include "commit.h" diff --git a/merge.c b/merge.c index da7fa652c2..10aaec3a6c 100644 --- a/merge.c +++ b/merge.c @@ -7,6 +7,7 @@ #include "commit.h" #include "run-command.h" #include "resolve-undo.h" +#include "tree.h" #include "tree-walk.h" #include "unpack-trees.h" #include "dir.h" diff --git a/notes-cache.c b/notes-cache.c index fbcdfd0dfe..14288caf98 100644 --- a/notes-cache.c +++ b/notes-cache.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "notes-cache.h" #include "object-store.h" +#include "pretty.h" #include "repository.h" #include "commit.h" #include "refs.h" diff --git a/notes-utils.c b/notes-utils.c index cb88171b7b..4a793eb347 100644 --- a/notes-utils.c +++ b/notes-utils.c @@ -6,6 +6,7 @@ #include "refs.h" #include "notes-utils.h" #include "repository.h" +#include "strbuf.h" void create_notes_commit(struct repository *r, struct notes_tree *t, diff --git a/object-name.c b/object-name.c index 3cd5b32729..5ccbe854b6 100644 --- a/object-name.c +++ b/object-name.c @@ -15,6 +15,7 @@ #include "dir.h" #include "oid-array.h" #include "packfile.h" +#include "pretty.h" #include "object-store.h" #include "repository.h" #include "setup.h" diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c index faf67c94d3..3d3fd38065 100644 --- a/pack-bitmap-write.c +++ b/pack-bitmap-write.c @@ -18,6 +18,7 @@ #include "commit-reach.h" #include "prio-queue.h" #include "trace2.h" +#include "tree.h" struct bitmapped_commit { struct commit *commit; diff --git a/parse-options-cb.c b/parse-options-cb.c index 26a4c7d08a..be81158f86 100644 --- a/parse-options-cb.c +++ b/parse-options-cb.c @@ -3,6 +3,7 @@ #include "branch.h" #include "commit.h" #include "color.h" +#include "date.h" #include "environment.h" #include "gettext.h" #include "object-name.h" diff --git a/parse-options.c b/parse-options.c index b6803647d0..f8a155ee13 100644 --- a/parse-options.c +++ b/parse-options.c @@ -5,6 +5,7 @@ #include "commit.h" #include "color.h" #include "gettext.h" +#include "strbuf.h" #include "utf8.h" static int disallow_abbreviated_options; diff --git a/read-cache.c b/read-cache.c index b3e2917ddc..d64d93bc36 100644 --- a/read-cache.c +++ b/read-cache.c @@ -6,6 +6,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "date.h" #include "diff.h" #include "diffcore.h" #include "hex.h" diff --git a/ref-filter.c b/ref-filter.c index 594e66ad36..84eee904ba 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "environment.h" #include "gettext.h" +#include "gpg-interface.h" #include "hex.h" #include "parse-options.h" #include "refs.h" diff --git a/reflog.c b/reflog.c index 9c09443088..57dc7c0d05 100644 --- a/reflog.c +++ b/reflog.c @@ -4,6 +4,7 @@ #include "reflog.h" #include "refs.h" #include "revision.h" +#include "tree.h" #include "worktree.h" /* Remember to update object flag allocation in object.h */ diff --git a/refs/debug.c b/refs/debug.c index adc34c836f..6f11e6de46 100644 --- a/refs/debug.c +++ b/refs/debug.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "hex.h" #include "refs-internal.h" +#include "string-list.h" #include "trace.h" static struct trace_key trace_refs = TRACE_KEY_INIT(REFS); diff --git a/refspec.c b/refspec.c index 31b61d782c..57f6c2aaf9 100644 --- a/refspec.c +++ b/refspec.c @@ -6,6 +6,7 @@ #include "strvec.h" #include "refs.h" #include "refspec.h" +#include "strbuf.h" static struct refspec_item s_tag_refspec = { .force = 0, diff --git a/revision.h b/revision.h index 742700504a..6630bb2eae 100644 --- a/revision.h +++ b/revision.h @@ -8,6 +8,7 @@ #include "pretty.h" #include "diff.h" #include "commit-slab-decl.h" +#include "decorate.h" #include "ident.h" #include "list-objects-filter-options.h" diff --git a/send-pack.c b/send-pack.c index 351037b07b..e68da24cc5 100644 --- a/send-pack.c +++ b/send-pack.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "config.h" #include "commit.h" +#include "date.h" #include "gettext.h" #include "hex.h" #include "refs.h" diff --git a/wt-status.c b/wt-status.c index 97b9c1c035..068b76ef6d 100644 --- a/wt-status.c +++ b/wt-status.c @@ -22,6 +22,7 @@ #include "strbuf.h" #include "trace.h" #include "trace2.h" +#include "tree.h" #include "utf8.h" #include "worktree.h" #include "lockfile.h" -- cgit v1.3