From 08c46a499aec5b6459fb1d55ff90403c7dc2ee5a Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 16 May 2023 06:33:56 +0000 Subject: read-cache*.h: move declarations for read-cache.c functions from cache.h For the functions defined in read-cache.c, move their declarations from cache.h to a new header, read-cache-ll.h. Also move some related inline functions from cache.h to read-cache.h. The purpose of the read-cache-ll.h/read-cache.h split is that about 70% of the sites don't need the inline functions and the extra headers they include. Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- cache-tree.c | 1 + 1 file changed, 1 insertion(+) (limited to 'cache-tree.c') diff --git a/cache-tree.c b/cache-tree.c index ebfe649b33..153217b47f 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -9,6 +9,7 @@ #include "bulk-checkin.h" #include "object-file.h" #include "object-store.h" +#include "read-cache-ll.h" #include "replace-object.h" #include "promisor-remote.h" #include "sparse-index.h" -- cgit v1.2.3 From bc5c5ec0446895f5c4139cd470066beb3c4ac6d5 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 16 May 2023 06:33:57 +0000 Subject: cache.h: remove this no-longer-used header Since this header showed up in some places besides just #include statements, update/clean-up/remove those other places as well. Note that compat/fsmonitor/fsm-path-utils-darwin.c previously got away with violating the rule that all files must start with an include of git-compat-util.h (or a short-list of alternate headers that happen to include it first). This change exposed the violation and caused it to stop building correctly; fix it by having it include git-compat-util.h first, as per policy. Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- Documentation/CodingGuidelines | 2 +- Documentation/MyFirstObjectWalk.txt | 2 +- Documentation/user-manual.txt | 18 ++++++++---------- Makefile | 2 +- add-interactive.c | 2 +- add-patch.c | 2 +- apply.c | 2 +- attr.c | 2 +- blame.c | 2 +- builtin.h | 1 - builtin/add.c | 3 +-- builtin/am.c | 3 +-- builtin/apply.c | 1 - builtin/archive.c | 1 - builtin/bisect.c | 1 - builtin/branch.c | 3 +-- builtin/bundle.c | 1 - builtin/cat-file.c | 3 +-- builtin/check-attr.c | 1 - builtin/check-ignore.c | 1 - builtin/check-ref-format.c | 3 +-- builtin/clean.c | 1 - builtin/column.c | 1 - builtin/commit-tree.c | 3 +-- builtin/commit.c | 3 +-- builtin/count-objects.c | 3 +-- builtin/describe.c | 3 +-- builtin/diff-files.c | 3 +-- builtin/diff-index.c | 3 +-- builtin/diff-tree.c | 3 +-- builtin/diff.c | 3 +-- builtin/difftool.c | 3 +-- builtin/fast-export.c | 1 - builtin/fast-import.c | 1 - builtin/fetch.c | 3 +-- builtin/for-each-ref.c | 1 - builtin/for-each-repo.c | 3 +-- builtin/fsck.c | 1 - builtin/get-tar-commit-id.c | 3 +-- builtin/grep.c | 3 +-- builtin/help.c | 3 +-- builtin/hook.c | 1 - builtin/init-db.c | 3 +-- builtin/interpret-trailers.c | 1 - builtin/ls-files.c | 3 +-- builtin/ls-remote.c | 1 - builtin/ls-tree.c | 3 +-- builtin/mailinfo.c | 3 +-- builtin/mailsplit.c | 1 - builtin/merge-base.c | 1 - builtin/merge-file.c | 1 - builtin/merge-recursive.c | 1 - builtin/merge.c | 3 +-- builtin/multi-pack-index.c | 1 - builtin/notes.c | 3 +-- builtin/patch-id.c | 1 - builtin/prune.c | 3 +-- builtin/pull.c | 3 +-- builtin/push.c | 3 +-- builtin/range-diff.c | 1 - builtin/read-tree.c | 3 +-- builtin/replace.c | 3 +-- builtin/rerere.c | 1 - builtin/rev-list.c | 3 +-- builtin/rev-parse.c | 3 +-- builtin/shortlog.c | 1 - builtin/show-branch.c | 3 +-- builtin/show-index.c | 1 - builtin/show-ref.c | 1 - builtin/sparse-checkout.c | 1 - builtin/stripspace.c | 1 - builtin/submodule--helper.c | 1 - builtin/symbolic-ref.c | 1 - builtin/tag.c | 3 +-- builtin/unpack-objects.c | 1 - builtin/update-index.c | 3 +-- builtin/update-ref.c | 3 +-- builtin/update-server-info.c | 3 +-- builtin/upload-archive.c | 1 - builtin/upload-pack.c | 1 - builtin/verify-commit.c | 3 +-- builtin/verify-pack.c | 1 - builtin/verify-tag.c | 3 +-- builtin/worktree.c | 3 +-- builtin/write-tree.c | 1 - cache-tree.c | 2 +- cache.h | 6 ------ compat/fsmonitor/fsm-health-win32.c | 2 +- compat/fsmonitor/fsm-listen-win32.c | 2 +- compat/fsmonitor/fsm-path-utils-darwin.c | 1 + compat/fsmonitor/fsm-path-utils-win32.c | 2 +- compat/fsmonitor/fsm-settings-win32.c | 2 +- compat/mingw.c | 1 - compat/precompose_utf8.c | 2 +- compat/sha1-chunked.c | 2 +- compat/simple-ipc/ipc-win32.c | 2 +- compat/win32/trace2_win32_process_info.c | 2 +- contrib/buildsystems/CMakeLists.txt | 2 +- convert.c | 2 +- diff-lib.c | 2 +- diff.c | 2 +- entry.c | 2 +- environment.c | 2 +- fsmonitor-ipc.c | 2 +- fsmonitor.c | 2 +- fsmonitor.h | 1 - hash-lookup.c | 2 +- merge-ort-wrappers.c | 2 +- merge-ort.c | 2 +- merge-recursive.c | 2 +- merge.c | 2 +- name-hash.c | 2 +- object-name.c | 2 +- object.c | 2 +- parallel-checkout.c | 2 +- pathspec.c | 2 +- preload-index.c | 2 +- read-cache.c | 2 +- refs/files-backend.c | 2 +- refs/packed-backend.c | 2 +- repository.c | 2 +- rerere.c | 2 +- resolve-undo.c | 2 +- revision.c | 2 +- run-command.h | 2 +- sequencer.c | 2 +- shallow.c | 2 +- sparse-index.c | 2 +- split-index.c | 2 +- strbuf.h | 4 ---- submodule.c | 2 +- t/helper/test-cache-tree.c | 1 - t/helper/test-dump-cache-tree.c | 1 - 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-hash-speed.c | 1 - t/helper/test-index-version.c | 1 - t/helper/test-lazy-init-name-hash.c | 1 - t/helper/test-path-utils.c | 1 - t/helper/test-read-cache.c | 1 - t/helper/test-scrap-cache-tree.c | 1 - t/helper/test-sha1.c | 1 - t/helper/test-sha256.c | 1 - t/helper/test-strcmp-offset.c | 1 - t/helper/test-write-cache.c | 1 - unpack-trees.c | 2 +- wt-status.c | 2 +- 150 files changed, 100 insertions(+), 206 deletions(-) delete mode 100644 cache.h (limited to 'cache-tree.c') diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index 003393ed16..2b472df29d 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -444,7 +444,7 @@ For C programs: - The first #include in C files, except in platform specific compat/ implementations and sha1dc/, must be either "git-compat-util.h" or one of the approved headers that includes it first for you. (The - approved headers currently include "cache.h", "builtin.h", + approved headers currently include "builtin.h", "t/helper/test-tool.h", "xdiff/xinclude.h", or "reftable/system.h"). You do not have to include more than one of these. diff --git a/Documentation/MyFirstObjectWalk.txt b/Documentation/MyFirstObjectWalk.txt index eee513e86f..200e628e30 100644 --- a/Documentation/MyFirstObjectWalk.txt +++ b/Documentation/MyFirstObjectWalk.txt @@ -124,7 +124,7 @@ parameters provided by the user over the CLI. `nr` represents the number of `rev_cmdline_entry` present in the array. -`alloc` is used by the `ALLOC_GROW` macro. Check `cache.h` - this variable is +`alloc` is used by the `ALLOC_GROW` macro. Check `alloc.h` - this variable is used to track the allocated size of the list. Per entry, we find: diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt index aa385137ad..4281396093 100644 --- a/Documentation/user-manual.txt +++ b/Documentation/user-manual.txt @@ -4129,13 +4129,11 @@ Note that terminology has changed since that revision. For example, the README in that revision uses the word "changeset" to describe what we now call a <>. -Also, we do not call it "cache" any more, but rather "index"; however, the -file is still called `cache.h`. Remark: Not much reason to change it now, -especially since there is no good single name for it anyway, because it is -basically _the_ header file which is included by _all_ of Git's C sources. +Also, we do not call it "cache" any more, but rather "index"; however, +the file is still called `read-cache.h`. If you grasp the ideas in that initial commit, you should check out a -more recent version and skim `cache.h`, `object.h` and `commit.h`. +more recent version and skim `read-cache-ll.h`, `object.h` and `commit.h`. In the early days, Git (in the tradition of UNIX) was a bunch of programs which were extremely simple, and which you used in scripts, piping the @@ -4146,11 +4144,11 @@ many of these parts have become builtins, and some of the core has been and to avoid code duplication. By now, you know what the index is (and find the corresponding data -structures in `cache.h`), and that there are just a couple of object types -(blobs, trees, commits and tags) which inherit their common structure from -`struct object`, which is their first member (and thus, you can cast e.g. -`(struct object *)commit` to achieve the _same_ as `&commit->object`, i.e. -get at the object name and flags). +structures in `read-cache-ll.h`), and that there are just a couple of +object types (blobs, trees, commits and tags) which inherit their +common structure from `struct object`, which is their first member +(and thus, you can cast e.g. `(struct object *)commit` to achieve the +_same_ as `&commit->object`, i.e. get at the object name and flags). Now is a good point to take a break to let this information sink in. diff --git a/Makefile b/Makefile index 339c29849e..e62db9460d 100644 --- a/Makefile +++ b/Makefile @@ -1952,7 +1952,7 @@ endif BASIC_CFLAGS += \ -DSHA1DC_NO_STANDARD_INCLUDES \ -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 \ - -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" \ + -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"git-compat-util.h\"" \ -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" endif endif diff --git a/add-interactive.c b/add-interactive.c index a9671e3349..40f88c0205 100644 --- a/add-interactive.c +++ b/add-interactive.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "add-interactive.h" #include "color.h" #include "config.h" diff --git a/add-patch.c b/add-patch.c index 7d4d298286..875b96e227 100644 --- a/add-patch.c +++ b/add-patch.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "add-interactive.h" #include "advice.h" #include "alloc.h" diff --git a/apply.c b/apply.c index f056c8f3bb..e44a5dd7c5 100644 --- a/apply.c +++ b/apply.c @@ -7,7 +7,7 @@ * */ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "alloc.h" #include "base85.h" diff --git a/attr.c b/attr.c index 475241c5c4..b659f415d8 100644 --- a/attr.c +++ b/attr.c @@ -6,7 +6,7 @@ * an insanely large number of attributes. */ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "config.h" #include "environment.h" diff --git a/blame.c b/blame.c index a0c7b5c065..ab3c6108cc 100644 --- a/blame.c +++ b/blame.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "refs.h" #include "object-store.h" #include "cache-tree.h" diff --git a/builtin.h b/builtin.h index cb0db67681..3e6c22eef6 100644 --- a/builtin.h +++ b/builtin.h @@ -3,7 +3,6 @@ #include "git-compat-util.h" #include "strbuf.h" -#include "cache.h" #include "commit.h" /* diff --git a/builtin/add.c b/builtin/add.c index 9fe6b6ce29..50792c0d49 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -4,10 +4,9 @@ * Copyright (C) 2006 Linus Torvalds */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "advice.h" #include "config.h" -#include "builtin.h" #include "lockfile.h" #include "editor.h" #include "dir.h" diff --git a/builtin/am.c b/builtin/am.c index 0d8f46f8d5..2f0f233791 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -4,11 +4,10 @@ * Based on git-am.sh by Junio C Hamano. */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "abspath.h" #include "advice.h" #include "config.h" -#include "builtin.h" #include "editor.h" #include "environment.h" #include "exec-cmd.h" diff --git a/builtin/apply.c b/builtin/apply.c index e3ff02a09e..c18b7ea5d3 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -1,4 +1,3 @@ -#include "cache.h" #include "builtin.h" #include "gettext.h" #include "parse-options.h" diff --git a/builtin/archive.c b/builtin/archive.c index b0eaa3c14a..90761fdfee 100644 --- a/builtin/archive.c +++ b/builtin/archive.c @@ -2,7 +2,6 @@ * Copyright (c) 2006 Franck Bui-Huu * Copyright (c) 2006 Rene Scharfe */ -#include "cache.h" #include "builtin.h" #include "archive.h" #include "gettext.h" diff --git a/builtin/bisect.c b/builtin/bisect.c index 4812450c39..bce0ee6268 100644 --- a/builtin/bisect.c +++ b/builtin/bisect.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "copy.h" #include "environment.h" #include "gettext.h" diff --git a/builtin/branch.c b/builtin/branch.c index e6c2655af6..c480fa2121 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -5,14 +5,13 @@ * Based on git-branch.sh by Junio C Hamano. */ -#include "cache.h" +#include "builtin.h" #include "config.h" #include "color.h" #include "editor.h" #include "environment.h" #include "refs.h" #include "commit.h" -#include "builtin.h" #include "gettext.h" #include "object-name.h" #include "remote.h" diff --git a/builtin/bundle.c b/builtin/bundle.c index 44113389d7..3f63631c03 100644 --- a/builtin/bundle.c +++ b/builtin/bundle.c @@ -6,7 +6,6 @@ #include "parse-options.h" #include "pkt-line.h" #include "repository.h" -#include "cache.h" #include "bundle.h" /* diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 0bafc14e6c..9646e7209c 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -4,11 +4,10 @@ * Copyright (C) Linus Torvalds, 2005 */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "alloc.h" #include "config.h" #include "convert.h" -#include "builtin.h" #include "diff.h" #include "environment.h" #include "gettext.h" diff --git a/builtin/check-attr.c b/builtin/check-attr.c index e27b86d150..b22ff748c3 100644 --- a/builtin/check-attr.c +++ b/builtin/check-attr.c @@ -1,6 +1,5 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" -#include "cache.h" #include "config.h" #include "attr.h" #include "environment.h" diff --git a/builtin/check-ignore.c b/builtin/check-ignore.c index e4b78782a3..906cd96753 100644 --- a/builtin/check-ignore.c +++ b/builtin/check-ignore.c @@ -1,6 +1,5 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" -#include "cache.h" #include "config.h" #include "dir.h" #include "gettext.h" diff --git a/builtin/check-ref-format.c b/builtin/check-ref-format.c index 57f0505070..5eb6bdc3f6 100644 --- a/builtin/check-ref-format.c +++ b/builtin/check-ref-format.c @@ -2,9 +2,8 @@ * GIT - The information manager from hell */ -#include "cache.h" -#include "refs.h" #include "builtin.h" +#include "refs.h" #include "setup.h" #include "strbuf.h" diff --git a/builtin/clean.c b/builtin/clean.c index 49c7af45b0..66b4479356 100644 --- a/builtin/clean.c +++ b/builtin/clean.c @@ -9,7 +9,6 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" #include "abspath.h" -#include "cache.h" #include "config.h" #include "dir.h" #include "gettext.h" diff --git a/builtin/column.c b/builtin/column.c index de623a16c2..ce13ff0baa 100644 --- a/builtin/column.c +++ b/builtin/column.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "config.h" #include "gettext.h" #include "strbuf.h" diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c index d1d251c3de..d2121f30d4 100644 --- a/builtin/commit-tree.c +++ b/builtin/commit-tree.c @@ -3,7 +3,7 @@ * * Copyright (C) Linus Torvalds, 2005 */ -#include "cache.h" +#include "builtin.h" #include "config.h" #include "gettext.h" #include "hex.h" @@ -12,7 +12,6 @@ #include "repository.h" #include "commit.h" #include "tree.h" -#include "builtin.h" #include "utf8.h" #include "gpg-interface.h" #include "parse-options.h" diff --git a/builtin/commit.c b/builtin/commit.c index 829daaca9d..acf21789a0 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -6,7 +6,7 @@ */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "advice.h" #include "config.h" #include "lockfile.h" @@ -15,7 +15,6 @@ #include "dir.h" #include "editor.h" #include "environment.h" -#include "builtin.h" #include "diff.h" #include "diffcore.h" #include "commit.h" diff --git a/builtin/count-objects.c b/builtin/count-objects.c index f3d8f1bcbb..b9e6b55a9a 100644 --- a/builtin/count-objects.c +++ b/builtin/count-objects.c @@ -4,13 +4,12 @@ * Copyright (c) 2006 Junio C Hamano */ -#include "cache.h" +#include "builtin.h" #include "config.h" #include "dir.h" #include "environment.h" #include "gettext.h" #include "repository.h" -#include "builtin.h" #include "parse-options.h" #include "quote.h" #include "packfile.h" diff --git a/builtin/describe.c b/builtin/describe.c index f1be7c3694..508e8df00e 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -1,5 +1,5 @@ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "config.h" #include "environment.h" #include "gettext.h" @@ -9,7 +9,6 @@ #include "tag.h" #include "blob.h" #include "refs.h" -#include "builtin.h" #include "exec-cmd.h" #include "object-name.h" #include "parse-options.h" diff --git a/builtin/diff-files.c b/builtin/diff-files.c index 3ac175264d..a4a2ab76c7 100644 --- a/builtin/diff-files.c +++ b/builtin/diff-files.c @@ -3,14 +3,13 @@ * * Copyright (C) Linus Torvalds, 2005 */ -#include "cache.h" +#include "builtin.h" #include "config.h" #include "diff.h" #include "diff-merges.h" #include "commit.h" #include "preload-index.h" #include "revision.h" -#include "builtin.h" #include "submodule.h" static const char diff_files_usage[] = diff --git a/builtin/diff-index.c b/builtin/diff-index.c index 9b98db2e77..1ab8f8b6dc 100644 --- a/builtin/diff-index.c +++ b/builtin/diff-index.c @@ -1,11 +1,10 @@ -#include "cache.h" +#include "builtin.h" #include "config.h" #include "diff.h" #include "diff-merges.h" #include "commit.h" #include "preload-index.h" #include "revision.h" -#include "builtin.h" #include "setup.h" #include "submodule.h" diff --git a/builtin/diff-tree.c b/builtin/diff-tree.c index 8f7dff8eb3..f3a458bb87 100644 --- a/builtin/diff-tree.c +++ b/builtin/diff-tree.c @@ -1,12 +1,11 @@ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "config.h" #include "diff.h" #include "commit.h" #include "gettext.h" #include "hex.h" #include "log-tree.h" -#include "builtin.h" #include "submodule.h" #include "read-cache-ll.h" #include "repository.h" diff --git a/builtin/diff.c b/builtin/diff.c index a9ce701ff9..b19530c996 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -4,7 +4,7 @@ * Copyright (c) 2006 Junio C Hamano */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "config.h" #include "ewah/ewok.h" #include "lockfile.h" @@ -20,7 +20,6 @@ #include "read-cache-ll.h" #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 88809976c5..4a22de3edd 100644 --- a/builtin/difftool.c +++ b/builtin/difftool.c @@ -12,11 +12,10 @@ * Copyright (C) 2016 Johannes Schindelin */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "abspath.h" #include "config.h" #include "copy.h" -#include "builtin.h" #include "run-command.h" #include "environment.h" #include "exec-cmd.h" diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 9a95f6a1a8..5f3ffd6912 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -4,7 +4,6 @@ * Copyright (C) 2007 Johannes E. Schindelin */ #include "builtin.h" -#include "cache.h" #include "config.h" #include "gettext.h" #include "hex.h" diff --git a/builtin/fast-import.c b/builtin/fast-import.c index bbd9b2b3e7..67a2260a5e 100644 --- a/builtin/fast-import.c +++ b/builtin/fast-import.c @@ -1,6 +1,5 @@ #include "builtin.h" #include "abspath.h" -#include "cache.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/builtin/fetch.c b/builtin/fetch.c index e3871048cf..2c6f4d3dff 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -1,7 +1,7 @@ /* * "git fetch" */ -#include "cache.h" +#include "builtin.h" #include "advice.h" #include "config.h" #include "gettext.h" @@ -15,7 +15,6 @@ #include "oidset.h" #include "oid-array.h" #include "commit.h" -#include "builtin.h" #include "string-list.h" #include "remote.h" #include "transport.h" diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c index 695fc8f4a5..d0d6ab0fd3 100644 --- a/builtin/for-each-ref.c +++ b/builtin/for-each-ref.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "config.h" #include "gettext.h" #include "refs.h" diff --git a/builtin/for-each-repo.c b/builtin/for-each-repo.c index 37daf7bec1..28186b30f5 100644 --- a/builtin/for-each-repo.c +++ b/builtin/for-each-repo.c @@ -1,6 +1,5 @@ -#include "cache.h" -#include "config.h" #include "builtin.h" +#include "config.h" #include "gettext.h" #include "parse-options.h" #include "path.h" diff --git a/builtin/fsck.c b/builtin/fsck.c index d4e04bb36e..3e169f413d 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "gettext.h" #include "hex.h" #include "repository.h" diff --git a/builtin/get-tar-commit-id.c b/builtin/get-tar-commit-id.c index 564cfcac4f..9303e386cc 100644 --- a/builtin/get-tar-commit-id.c +++ b/builtin/get-tar-commit-id.c @@ -1,10 +1,9 @@ /* * Copyright (c) 2005, 2006 Rene Scharfe */ -#include "cache.h" +#include "builtin.h" #include "commit.h" #include "tar.h" -#include "builtin.h" #include "quote.h" #include "wrapper.h" diff --git a/builtin/grep.c b/builtin/grep.c index 0d56757589..7638d77900 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -3,7 +3,7 @@ * * Copyright (c) 2006 Junio C Hamano */ -#include "cache.h" +#include "builtin.h" #include "alloc.h" #include "gettext.h" #include "hex.h" @@ -14,7 +14,6 @@ #include "commit.h" #include "tag.h" #include "tree-walk.h" -#include "builtin.h" #include "parse-options.h" #include "string-list.h" #include "run-command.h" diff --git a/builtin/help.c b/builtin/help.c index d3cf4af3f6..e93533fb09 100644 --- a/builtin/help.c +++ b/builtin/help.c @@ -1,9 +1,8 @@ /* * Builtin help command */ -#include "cache.h" -#include "config.h" #include "builtin.h" +#include "config.h" #include "exec-cmd.h" #include "gettext.h" #include "pager.h" diff --git a/builtin/hook.c b/builtin/hook.c index 88051795c7..09b51a6487 100644 --- a/builtin/hook.c +++ b/builtin/hook.c @@ -1,4 +1,3 @@ -#include "cache.h" #include "builtin.h" #include "config.h" #include "gettext.h" diff --git a/builtin/init-db.c b/builtin/init-db.c index feb019a9de..680ef7e183 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c @@ -3,12 +3,11 @@ * * Copyright (C) Linus Torvalds, 2005 */ -#include "cache.h" +#include "builtin.h" #include "abspath.h" #include "config.h" #include "environment.h" #include "gettext.h" -#include "builtin.h" #include "object-file.h" #include "parse-options.h" #include "path.h" diff --git a/builtin/interpret-trailers.c b/builtin/interpret-trailers.c index 107ac28f0e..c5e8345265 100644 --- a/builtin/interpret-trailers.c +++ b/builtin/interpret-trailers.c @@ -5,7 +5,6 @@ * */ -#include "cache.h" #include "builtin.h" #include "gettext.h" #include "parse-options.h" diff --git a/builtin/ls-files.c b/builtin/ls-files.c index a0bea8f06c..3e314980fe 100644 --- a/builtin/ls-files.c +++ b/builtin/ls-files.c @@ -5,13 +5,12 @@ * * Copyright (C) Linus Torvalds, 2005 */ -#include "cache.h" +#include "builtin.h" #include "repository.h" #include "config.h" #include "convert.h" #include "quote.h" #include "dir.h" -#include "builtin.h" #include "gettext.h" #include "object-name.h" #include "strbuf.h" diff --git a/builtin/ls-remote.c b/builtin/ls-remote.c index cb6cb77e08..a0aadc9b8f 100644 --- a/builtin/ls-remote.c +++ b/builtin/ls-remote.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "gettext.h" #include "hex.h" #include "transport.h" diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c index 077977a461..f4331c640f 100644 --- a/builtin/ls-tree.c +++ b/builtin/ls-tree.c @@ -3,7 +3,7 @@ * * Copyright (C) Linus Torvalds, 2005 */ -#include "cache.h" +#include "builtin.h" #include "config.h" #include "gettext.h" #include "hex.h" @@ -13,7 +13,6 @@ #include "tree.h" #include "commit.h" #include "quote.h" -#include "builtin.h" #include "parse-options.h" #include "pathspec.h" diff --git a/builtin/mailinfo.c b/builtin/mailinfo.c index a032a1c388..53b55dd71c 100644 --- a/builtin/mailinfo.c +++ b/builtin/mailinfo.c @@ -2,9 +2,8 @@ * Another stupid program, this one parsing the headers of an * email to figure out authorship and subject */ -#include "cache.h" -#include "abspath.h" #include "builtin.h" +#include "abspath.h" #include "environment.h" #include "gettext.h" #include "utf8.h" diff --git a/builtin/mailsplit.c b/builtin/mailsplit.c index 0b6193a091..3af9ddb8ae 100644 --- a/builtin/mailsplit.c +++ b/builtin/mailsplit.c @@ -4,7 +4,6 @@ * It just splits a mbox into a list of files: "0001" "0002" .. * so you can process them further from there. */ -#include "cache.h" #include "builtin.h" #include "gettext.h" #include "string-list.h" diff --git a/builtin/merge-base.c b/builtin/merge-base.c index 854019a32d..e68b7fe45d 100644 --- a/builtin/merge-base.c +++ b/builtin/merge-base.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "config.h" #include "commit.h" #include "gettext.h" diff --git a/builtin/merge-file.c b/builtin/merge-file.c index 781818d08f..d7eb4c6540 100644 --- a/builtin/merge-file.c +++ b/builtin/merge-file.c @@ -1,6 +1,5 @@ #include "builtin.h" #include "abspath.h" -#include "cache.h" #include "config.h" #include "gettext.h" #include "setup.h" diff --git a/builtin/merge-recursive.c b/builtin/merge-recursive.c index b9e980384a..3366699657 100644 --- a/builtin/merge-recursive.c +++ b/builtin/merge-recursive.c @@ -1,4 +1,3 @@ -#include "cache.h" #include "builtin.h" #include "advice.h" #include "commit.h" diff --git a/builtin/merge.c b/builtin/merge.c index 6e8f7b9bb5..d7ac108ce9 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -7,7 +7,7 @@ */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "abspath.h" #include "advice.h" #include "alloc.h" @@ -18,7 +18,6 @@ #include "hex.h" #include "object-name.h" #include "parse-options.h" -#include "builtin.h" #include "lockfile.h" #include "run-command.h" #include "hook.h" diff --git a/builtin/multi-pack-index.c b/builtin/multi-pack-index.c index 1b5083f8b2..5bb71bce08 100644 --- a/builtin/multi-pack-index.c +++ b/builtin/multi-pack-index.c @@ -1,6 +1,5 @@ #include "builtin.h" #include "abspath.h" -#include "cache.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/builtin/notes.c b/builtin/notes.c index d5788352b6..efdf245148 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -7,9 +7,8 @@ * and builtin/tag.c by Kristian Høgsberg and Carlos Rica. */ -#include "cache.h" -#include "config.h" #include "builtin.h" +#include "config.h" #include "editor.h" #include "gettext.h" #include "hex.h" diff --git a/builtin/patch-id.c b/builtin/patch-id.c index 9d5585d3a7..27952f1a6f 100644 --- a/builtin/patch-id.c +++ b/builtin/patch-id.c @@ -1,4 +1,3 @@ -#include "cache.h" #include "builtin.h" #include "config.h" #include "diff.h" diff --git a/builtin/prune.c b/builtin/prune.c index 5dc9b20720..b3658b5b51 100644 --- a/builtin/prune.c +++ b/builtin/prune.c @@ -1,11 +1,10 @@ -#include "cache.h" +#include "builtin.h" #include "commit.h" #include "diff.h" #include "environment.h" #include "gettext.h" #include "hex.h" #include "revision.h" -#include "builtin.h" #include "reachable.h" #include "parse-options.h" #include "progress.h" diff --git a/builtin/pull.c b/builtin/pull.c index 3052244b17..d434495091 100644 --- a/builtin/pull.c +++ b/builtin/pull.c @@ -6,10 +6,9 @@ * Fetch one or more remote refs and merge it/them into the current HEAD. */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "advice.h" #include "config.h" -#include "builtin.h" #include "gettext.h" #include "hex.h" #include "merge.h" diff --git a/builtin/push.c b/builtin/push.c index dbdf609daf..6f8a8dc711 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -1,7 +1,7 @@ /* * "git push" */ -#include "cache.h" +#include "builtin.h" #include "advice.h" #include "branch.h" #include "config.h" @@ -10,7 +10,6 @@ #include "refs.h" #include "refspec.h" #include "run-command.h" -#include "builtin.h" #include "remote.h" #include "transport.h" #include "parse-options.h" diff --git a/builtin/range-diff.c b/builtin/range-diff.c index 04339a92ea..8610390d7c 100644 --- a/builtin/range-diff.c +++ b/builtin/range-diff.c @@ -1,4 +1,3 @@ -#include "cache.h" #include "builtin.h" #include "gettext.h" #include "object-name.h" diff --git a/builtin/read-tree.c b/builtin/read-tree.c index bd1ce1d963..63c92936fa 100644 --- a/builtin/read-tree.c +++ b/builtin/read-tree.c @@ -5,7 +5,7 @@ */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "config.h" #include "gettext.h" #include "hex.h" @@ -17,7 +17,6 @@ #include "cache-tree.h" #include "unpack-trees.h" #include "dir.h" -#include "builtin.h" #include "parse-options.h" #include "repository.h" #include "resolve-undo.h" diff --git a/builtin/replace.c b/builtin/replace.c index 981f189443..e0fbdc98ed 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -8,9 +8,8 @@ * git-tag.sh and mktag.c by Linus Torvalds. */ -#include "cache.h" -#include "config.h" #include "builtin.h" +#include "config.h" #include "editor.h" #include "environment.h" #include "gettext.h" diff --git a/builtin/rerere.c b/builtin/rerere.c index d4bd52797f..0458db9cad 100644 --- a/builtin/rerere.c +++ b/builtin/rerere.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "config.h" #include "dir.h" #include "gettext.h" diff --git a/builtin/rev-list.c b/builtin/rev-list.c index 6dc8be492a..8029f3de53 100644 --- a/builtin/rev-list.c +++ b/builtin/rev-list.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "builtin.h" #include "config.h" #include "commit.h" #include "diff.h" @@ -15,7 +15,6 @@ #include "object-store.h" #include "pack.h" #include "pack-bitmap.h" -#include "builtin.h" #include "log-tree.h" #include "graph.h" #include "bisect.h" diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index ad93e5fad8..8d8c870421 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -4,7 +4,7 @@ * Copyright (C) Linus Torvalds, 2005 */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "abspath.h" #include "alloc.h" #include "config.h" @@ -14,7 +14,6 @@ #include "hex.h" #include "refs.h" #include "quote.h" -#include "builtin.h" #include "object-name.h" #include "parse-options.h" #include "diff.h" diff --git a/builtin/shortlog.c b/builtin/shortlog.c index 46f4e0832a..99be9dc417 100644 --- a/builtin/shortlog.c +++ b/builtin/shortlog.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "config.h" #include "commit.h" #include "diff.h" diff --git a/builtin/show-branch.c b/builtin/show-branch.c index 7ef4a642c1..cd215f89af 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "builtin.h" #include "config.h" #include "environment.h" #include "gettext.h" @@ -6,7 +6,6 @@ #include "hex.h" #include "pretty.h" #include "refs.h" -#include "builtin.h" #include "color.h" #include "strvec.h" #include "object-name.h" diff --git a/builtin/show-index.c b/builtin/show-index.c index d839e55335..540dc3dad1 100644 --- a/builtin/show-index.c +++ b/builtin/show-index.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "gettext.h" #include "hash.h" #include "hex.h" diff --git a/builtin/show-ref.c b/builtin/show-ref.c index a2243b4219..e07e9ca862 100644 --- a/builtin/show-ref.c +++ b/builtin/show-ref.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "config.h" #include "gettext.h" #include "hex.h" diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c index 40d420f06c..5c8ffb1f75 100644 --- a/builtin/sparse-checkout.c +++ b/builtin/sparse-checkout.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "config.h" #include "dir.h" #include "environment.h" diff --git a/builtin/stripspace.c b/builtin/stripspace.c index 9451eb69ff..397d7fe2dc 100644 --- a/builtin/stripspace.c +++ b/builtin/stripspace.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "config.h" #include "gettext.h" #include "parse-options.h" diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 02f295e741..12ba2ae45d 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -6,7 +6,6 @@ #include "gettext.h" #include "hex.h" #include "repository.h" -#include "cache.h" #include "config.h" #include "parse-options.h" #include "quote.h" diff --git a/builtin/symbolic-ref.c b/builtin/symbolic-ref.c index 10198a74fa..a61fa3c0f8 100644 --- a/builtin/symbolic-ref.c +++ b/builtin/symbolic-ref.c @@ -1,6 +1,5 @@ #include "builtin.h" #include "config.h" -#include "cache.h" #include "gettext.h" #include "refs.h" #include "parse-options.h" diff --git a/builtin/tag.c b/builtin/tag.c index 49b64c7a28..26691e7e52 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -6,10 +6,9 @@ * Based on git-tag.sh and mktag.c by Linus Torvalds. */ -#include "cache.h" +#include "builtin.h" #include "advice.h" #include "config.h" -#include "builtin.h" #include "editor.h" #include "environment.h" #include "gettext.h" diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c index 2c52c3a741..85baf6a131 100644 --- a/builtin/unpack-objects.c +++ b/builtin/unpack-objects.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "bulk-checkin.h" #include "config.h" #include "environment.h" diff --git a/builtin/update-index.c b/builtin/update-index.c index 484a307df5..aee3cb8cbd 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -4,7 +4,7 @@ * Copyright (C) Linus Torvalds, 2005 */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "builtin.h" #include "bulk-checkin.h" #include "config.h" #include "environment.h" @@ -15,7 +15,6 @@ #include "quote.h" #include "cache-tree.h" #include "tree-walk.h" -#include "builtin.h" #include "object-file.h" #include "refs.h" #include "resolve-undo.h" diff --git a/builtin/update-ref.c b/builtin/update-ref.c index 0c59b1c9ef..242102273e 100644 --- a/builtin/update-ref.c +++ b/builtin/update-ref.c @@ -1,9 +1,8 @@ -#include "cache.h" +#include "builtin.h" #include "config.h" #include "gettext.h" #include "hash.h" #include "refs.h" -#include "builtin.h" #include "object-name.h" #include "parse-options.h" #include "quote.h" diff --git a/builtin/update-server-info.c b/builtin/update-server-info.c index 19dce3c065..1dc3971ede 100644 --- a/builtin/update-server-info.c +++ b/builtin/update-server-info.c @@ -1,6 +1,5 @@ -#include "cache.h" -#include "config.h" #include "builtin.h" +#include "config.h" #include "gettext.h" #include "parse-options.h" #include "server-info.h" diff --git a/builtin/upload-archive.c b/builtin/upload-archive.c index 44ad400e18..d4c7f162ff 100644 --- a/builtin/upload-archive.c +++ b/builtin/upload-archive.c @@ -1,7 +1,6 @@ /* * Copyright (c) 2006 Franck Bui-Huu */ -#include "cache.h" #include "builtin.h" #include "archive.h" #include "pkt-line.h" diff --git a/builtin/upload-pack.c b/builtin/upload-pack.c index beb9dd0861..ba5103a933 100644 --- a/builtin/upload-pack.c +++ b/builtin/upload-pack.c @@ -1,4 +1,3 @@ -#include "cache.h" #include "builtin.h" #include "exec-cmd.h" #include "gettext.h" diff --git a/builtin/verify-commit.c b/builtin/verify-commit.c index 5d99b82a64..aa34fb896a 100644 --- a/builtin/verify-commit.c +++ b/builtin/verify-commit.c @@ -5,9 +5,8 @@ * * Based on git-verify-tag */ -#include "cache.h" -#include "config.h" #include "builtin.h" +#include "config.h" #include "gettext.h" #include "object-name.h" #include "object-store.h" diff --git a/builtin/verify-pack.c b/builtin/verify-pack.c index 190fd69540..aba92cf8af 100644 --- a/builtin/verify-pack.c +++ b/builtin/verify-pack.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "cache.h" #include "config.h" #include "gettext.h" #include "run-command.h" diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c index c6019a0ad8..d8753270eb 100644 --- a/builtin/verify-tag.c +++ b/builtin/verify-tag.c @@ -5,9 +5,8 @@ * * Based on git-verify-tag.sh */ -#include "cache.h" -#include "config.h" #include "builtin.h" +#include "config.h" #include "gettext.h" #include "tag.h" #include "run-command.h" diff --git a/builtin/worktree.c b/builtin/worktree.c index efe520fe95..2d83ea4bf2 100644 --- a/builtin/worktree.c +++ b/builtin/worktree.c @@ -1,9 +1,8 @@ -#include "cache.h" +#include "builtin.h" #include "abspath.h" #include "checkout.h" #include "config.h" #include "copy.h" -#include "builtin.h" #include "dir.h" #include "environment.h" #include "gettext.h" diff --git a/builtin/write-tree.c b/builtin/write-tree.c index 84b83318c9..66e83d0ecb 100644 --- a/builtin/write-tree.c +++ b/builtin/write-tree.c @@ -5,7 +5,6 @@ */ #define USE_THE_INDEX_VARIABLE #include "builtin.h" -#include "cache.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/cache-tree.c b/cache-tree.c index 153217b47f..077932c2db 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "environment.h" #include "hex.h" diff --git a/cache.h b/cache.h deleted file mode 100644 index 9b4e8d1687..0000000000 --- a/cache.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef CACHE_H -#define CACHE_H - -#include "git-compat-util.h" - -#endif /* CACHE_H */ diff --git a/compat/fsmonitor/fsm-health-win32.c b/compat/fsmonitor/fsm-health-win32.c index fe11bdd9ce..6c81d7ee5c 100644 --- a/compat/fsmonitor/fsm-health-win32.c +++ b/compat/fsmonitor/fsm-health-win32.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "fsmonitor.h" #include "fsm-health.h" diff --git a/compat/fsmonitor/fsm-listen-win32.c b/compat/fsmonitor/fsm-listen-win32.c index 677b1bbdec..3c0df5cff8 100644 --- a/compat/fsmonitor/fsm-listen-win32.c +++ b/compat/fsmonitor/fsm-listen-win32.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "fsmonitor.h" #include "fsm-listen.h" diff --git a/compat/fsmonitor/fsm-path-utils-darwin.c b/compat/fsmonitor/fsm-path-utils-darwin.c index 45eb4a9b9e..ef0142e0fb 100644 --- a/compat/fsmonitor/fsm-path-utils-darwin.c +++ b/compat/fsmonitor/fsm-path-utils-darwin.c @@ -1,3 +1,4 @@ +#include "git-compat-util.h" #include "fsmonitor.h" #include "fsmonitor-path-utils.h" #include "gettext.h" diff --git a/compat/fsmonitor/fsm-path-utils-win32.c b/compat/fsmonitor/fsm-path-utils-win32.c index 4024baafb9..27bb694518 100644 --- a/compat/fsmonitor/fsm-path-utils-win32.c +++ b/compat/fsmonitor/fsm-path-utils-win32.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "fsmonitor.h" #include "fsmonitor-path-utils.h" #include "gettext.h" diff --git a/compat/fsmonitor/fsm-settings-win32.c b/compat/fsmonitor/fsm-settings-win32.c index a8af31b71d..3728897864 100644 --- a/compat/fsmonitor/fsm-settings-win32.c +++ b/compat/fsmonitor/fsm-settings-win32.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "repository.h" #include "fsmonitor.h" diff --git a/compat/mingw.c b/compat/mingw.c index d06cdc6254..559abb1c61 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -6,7 +6,6 @@ #include #include "../strbuf.h" #include "../run-command.h" -#include "../cache.h" #include "../abspath.h" #include "../alloc.h" #include "win32/lazyload.h" diff --git a/compat/precompose_utf8.c b/compat/precompose_utf8.c index fb08475bc6..0bd5c24250 100644 --- a/compat/precompose_utf8.c +++ b/compat/precompose_utf8.c @@ -5,7 +5,7 @@ #define PRECOMPOSE_UNICODE_C -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/compat/sha1-chunked.c b/compat/sha1-chunked.c index 56729d92dc..a4a6f930d7 100644 --- a/compat/sha1-chunked.c +++ b/compat/sha1-chunked.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "hash-ll.h" int git_SHA1_Update_Chunked(platform_SHA_CTX *c, const void *data, size_t len) diff --git a/compat/simple-ipc/ipc-win32.c b/compat/simple-ipc/ipc-win32.c index 6adce3c650..8bfe51248e 100644 --- a/compat/simple-ipc/ipc-win32.c +++ b/compat/simple-ipc/ipc-win32.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "gettext.h" #include "simple-ipc.h" diff --git a/compat/win32/trace2_win32_process_info.c b/compat/win32/trace2_win32_process_info.c index a4e33768f4..a2b1506f9c 100644 --- a/compat/win32/trace2_win32_process_info.c +++ b/compat/win32/trace2_win32_process_info.c @@ -1,4 +1,4 @@ -#include "../../cache.h" +#include "../../git-compat-util.h" #include "../../json-writer.h" #include "../../repository.h" #include "../../trace2.h" diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt index 2f6e0197ff..4faa419cc3 100644 --- a/contrib/buildsystems/CMakeLists.txt +++ b/contrib/buildsystems/CMakeLists.txt @@ -227,7 +227,7 @@ add_compile_definitions(GIT_HOST_CPU="${CMAKE_SYSTEM_PROCESSOR}") add_compile_definitions(SHA256_BLK INTERNAL_QSORT RUNTIME_PREFIX) add_compile_definitions(NO_OPENSSL SHA1_DC SHA1DC_NO_STANDARD_INCLUDES SHA1DC_INIT_SAFE_HASH_DEFAULT=0 - SHA1DC_CUSTOM_INCLUDE_SHA1_C="cache.h" + SHA1DC_CUSTOM_INCLUDE_SHA1_C="git-compat-util.h" SHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="git-compat-util.h" ) list(APPEND compat_SOURCES sha1dc_git.c sha1dc/sha1.c sha1dc/ubc_check.c block-sha1/sha1.c sha256/block/sha256.c compat/qsort_s.c) diff --git a/convert.c b/convert.c index b421065f21..89aeb9e72b 100644 --- a/convert.c +++ b/convert.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "advice.h" #include "config.h" #include "convert.h" diff --git a/diff-lib.c b/diff-lib.c index 36cd66ea23..f3aa7f93c7 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -1,7 +1,7 @@ /* * Copyright (C) 2005 Junio C Hamano */ -#include "cache.h" +#include "git-compat-util.h" #include "quote.h" #include "commit.h" #include "diff.h" diff --git a/diff.c b/diff.c index a72811ee5d..7fb9abe891 100644 --- a/diff.c +++ b/diff.c @@ -1,7 +1,7 @@ /* * Copyright (C) 2005 Junio C Hamano */ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "alloc.h" #include "base85.h" diff --git a/entry.c b/entry.c index 53d0038674..041f5cf212 100644 --- a/entry.c +++ b/entry.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "blob.h" #include "object-store.h" #include "dir.h" diff --git a/environment.c b/environment.c index 6bd001efbd..4ecad41bb9 100644 --- a/environment.c +++ b/environment.c @@ -109,7 +109,7 @@ char *git_work_tree_cfg; static char *git_namespace; /* - * Repository-local GIT_* environment variables; see cache.h for details. + * Repository-local GIT_* environment variables; see environment.h for details. */ const char * const local_repo_env[] = { ALTERNATE_DB_ENVIRONMENT, diff --git a/fsmonitor-ipc.c b/fsmonitor-ipc.c index 6a6a89764a..6ace978a1b 100644 --- a/fsmonitor-ipc.c +++ b/fsmonitor-ipc.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "fsmonitor.h" #include "gettext.h" #include "simple-ipc.h" diff --git a/fsmonitor.c b/fsmonitor.c index 28c083d4d8..f670c50937 100644 --- a/fsmonitor.c +++ b/fsmonitor.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "dir.h" #include "environment.h" diff --git a/fsmonitor.h b/fsmonitor.h index 8b7a521552..7702301d21 100644 --- a/fsmonitor.h +++ b/fsmonitor.h @@ -1,7 +1,6 @@ #ifndef FSMONITOR_H #define FSMONITOR_H -#include "cache.h" #include "dir.h" #include "fsmonitor-settings.h" #include "object.h" diff --git a/hash-lookup.c b/hash-lookup.c index 8fec8939fd..9f0f95e2b9 100644 --- a/hash-lookup.c +++ b/hash-lookup.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "hash.h" #include "hash-lookup.h" #include "read-cache-ll.h" diff --git a/merge-ort-wrappers.c b/merge-ort-wrappers.c index a0bedcb63b..4acedf3c33 100644 --- a/merge-ort-wrappers.c +++ b/merge-ort-wrappers.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "gettext.h" #include "hash.h" #include "merge-ort.h" diff --git a/merge-ort.c b/merge-ort.c index 17167f56dc..12d0181f4a 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -14,7 +14,7 @@ * "cale", "peedy", or "ins" instead of "ort"?) */ -#include "cache.h" +#include "git-compat-util.h" #include "merge-ort.h" #include "alloc.h" diff --git a/merge-recursive.c b/merge-recursive.c index 0e16e7a06d..4bef9b62fa 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -3,7 +3,7 @@ * Fredrik Kuivinen. * The thieves were Alex Riesen and Johannes Schindelin, in June/July 2006 */ -#include "cache.h" +#include "git-compat-util.h" #include "merge-recursive.h" #include "advice.h" diff --git a/merge.c b/merge.c index fade6b203b..83bcba6943 100644 --- a/merge.c +++ b/merge.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "diff.h" #include "diffcore.h" #include "gettext.h" diff --git a/name-hash.c b/name-hash.c index f2f3564cb2..251f036eef 100644 --- a/name-hash.c +++ b/name-hash.c @@ -5,7 +5,7 @@ * * Copyright (C) 2008 Linus Torvalds */ -#include "cache.h" +#include "git-compat-util.h" #include "environment.h" #include "gettext.h" #include "name-hash.h" diff --git a/object-name.c b/object-name.c index 1eefeef746..45f4d51305 100644 --- a/object-name.c +++ b/object-name.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "object-name.h" #include "advice.h" #include "config.h" diff --git a/object.c b/object.c index 333e736fb2..60f954194f 100644 --- a/object.c +++ b/object.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "gettext.h" #include "hex.h" #include "object.h" diff --git a/parallel-checkout.c b/parallel-checkout.c index 2b1439c0c5..602fbf19d3 100644 --- a/parallel-checkout.c +++ b/parallel-checkout.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "config.h" #include "entry.h" diff --git a/pathspec.c b/pathspec.c index f52ce60e41..8932b05a26 100644 --- a/pathspec.c +++ b/pathspec.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "config.h" #include "dir.h" diff --git a/preload-index.c b/preload-index.c index d037a951ef..e44530c80c 100644 --- a/preload-index.c +++ b/preload-index.c @@ -1,7 +1,7 @@ /* * Copyright (C) 2008 Linus Torvalds */ -#include "cache.h" +#include "git-compat-util.h" #include "pathspec.h" #include "dir.h" #include "environment.h" diff --git a/read-cache.c b/read-cache.c index 42f27b0664..edab96765d 100644 --- a/read-cache.c +++ b/read-cache.c @@ -3,7 +3,7 @@ * * Copyright (C) Linus Torvalds, 2005 */ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "bulk-checkin.h" #include "config.h" diff --git a/refs/files-backend.c b/refs/files-backend.c index 9a8333c0d0..9223c7f5f4 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -1,4 +1,4 @@ -#include "../cache.h" +#include "../git-compat-util.h" #include "../config.h" #include "../copy.h" #include "../environment.h" diff --git a/refs/packed-backend.c b/refs/packed-backend.c index f21882cc2e..27bd6339ff 100644 --- a/refs/packed-backend.c +++ b/refs/packed-backend.c @@ -1,4 +1,4 @@ -#include "../cache.h" +#include "../git-compat-util.h" #include "../alloc.h" #include "../config.h" #include "../gettext.h" diff --git a/repository.c b/repository.c index 3d799150b4..2616aabde5 100644 --- a/repository.c +++ b/repository.c @@ -3,7 +3,7 @@ * declaration matches the definition in this file. */ #define USE_THE_INDEX_VARIABLE -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "repository.h" #include "object-store.h" diff --git a/rerere.c b/rerere.c index 3bc9aedc28..2fb93a5112 100644 --- a/rerere.c +++ b/rerere.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "alloc.h" #include "config.h" diff --git a/resolve-undo.c b/resolve-undo.c index 5959887784..7817f5d6db 100644 --- a/resolve-undo.c +++ b/resolve-undo.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "dir.h" #include "hash.h" #include "read-cache.h" diff --git a/revision.c b/revision.c index 8d37ec9f49..66a1fece0d 100644 --- a/revision.c +++ b/revision.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "config.h" #include "environment.h" diff --git a/run-command.h b/run-command.h index 9e47f91d46..1f22cc3827 100644 --- a/run-command.h +++ b/run-command.h @@ -503,7 +503,7 @@ void run_processes_parallel(const struct run_process_parallel_opts *opts); * exception of GIT_CONFIG_PARAMETERS and GIT_CONFIG_COUNT (which cause the * corresponding environment variables to be unset in the subprocess) and adds * an environment variable pointing to new_git_dir. See local_repo_env in - * cache.h for more information. + * environment.h for more information. */ void prepare_other_repo_env(struct strvec *env, const char *new_git_dir); diff --git a/sequencer.c b/sequencer.c index bdcf2cc6d9..efad20b753 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "advice.h" #include "alloc.h" diff --git a/shallow.c b/shallow.c index a2ebf0af2b..f1c93e7464 100644 --- a/shallow.c +++ b/shallow.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "hex.h" #include "repository.h" diff --git a/sparse-index.c b/sparse-index.c index 60451daae8..2c47954d93 100644 --- a/sparse-index.c +++ b/sparse-index.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "environment.h" #include "gettext.h" diff --git a/split-index.c b/split-index.c index 0a8d3903d6..0ee3865a55 100644 --- a/split-index.c +++ b/split-index.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "gettext.h" #include "hash.h" diff --git a/strbuf.h b/strbuf.h index 3dfeadb44c..e8dfab6ecd 100644 --- a/strbuf.h +++ b/strbuf.h @@ -72,10 +72,6 @@ struct strbuf { extern char strbuf_slopbuf[]; #define STRBUF_INIT { .buf = strbuf_slopbuf } -/* - * Predeclare this here, since cache.h includes this file before it defines the - * struct. - */ struct object_id; /** diff --git a/submodule.c b/submodule.c index e09722d6be..20aa8ed0fb 100644 --- a/submodule.c +++ b/submodule.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "alloc.h" #include "repository.h" diff --git a/t/helper/test-cache-tree.c b/t/helper/test-cache-tree.c index 9d64422b3c..e7236392c8 100644 --- a/t/helper/test-cache-tree.c +++ b/t/helper/test-cache-tree.c @@ -1,6 +1,5 @@ #define USE_THE_INDEX_VARIABLE #include "test-tool.h" -#include "cache.h" #include "gettext.h" #include "hex.h" #include "tree.h" diff --git a/t/helper/test-dump-cache-tree.c b/t/helper/test-dump-cache-tree.c index 78aa11bb19..c38f546e4f 100644 --- a/t/helper/test-dump-cache-tree.c +++ b/t/helper/test-dump-cache-tree.c @@ -1,6 +1,5 @@ #define USE_THE_INDEX_VARIABLE #include "test-tool.h" -#include "cache.h" #include "hash.h" #include "hex.h" #include "tree.h" diff --git a/t/helper/test-dump-fsmonitor.c b/t/helper/test-dump-fsmonitor.c index e4357d65ec..4f215fea02 100644 --- a/t/helper/test-dump-fsmonitor.c +++ b/t/helper/test-dump-fsmonitor.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "cache.h" #include "read-cache-ll.h" #include "repository.h" #include "setup.h" diff --git a/t/helper/test-dump-split-index.c b/t/helper/test-dump-split-index.c index 59a24a842b..5cf0b26dca 100644 --- a/t/helper/test-dump-split-index.c +++ b/t/helper/test-dump-split-index.c @@ -1,6 +1,5 @@ #define USE_THE_INDEX_VARIABLE #include "test-tool.h" -#include "cache.h" #include "hex.h" #include "read-cache-ll.h" #include "repository.h" diff --git a/t/helper/test-dump-untracked-cache.c b/t/helper/test-dump-untracked-cache.c index a1cbafd64f..b4af9712fe 100644 --- a/t/helper/test-dump-untracked-cache.c +++ b/t/helper/test-dump-untracked-cache.c @@ -1,6 +1,5 @@ #define USE_THE_INDEX_VARIABLE #include "test-tool.h" -#include "cache.h" #include "dir.h" #include "hex.h" #include "read-cache-ll.h" diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c index cbcf2419f9..62c5b5d704 100644 --- a/t/helper/test-fast-rebase.c +++ b/t/helper/test-fast-rebase.c @@ -12,7 +12,6 @@ #define USE_THE_INDEX_VARIABLE #include "test-tool.h" -#include "cache.h" #include "cache-tree.h" #include "commit.h" #include "environment.h" diff --git a/t/helper/test-fsmonitor-client.c b/t/helper/test-fsmonitor-client.c index 386f4cdaee..58d1dc5fc8 100644 --- a/t/helper/test-fsmonitor-client.c +++ b/t/helper/test-fsmonitor-client.c @@ -4,7 +4,6 @@ */ #include "test-tool.h" -#include "cache.h" #include "parse-options.h" #include "fsmonitor-ipc.h" #include "read-cache-ll.h" diff --git a/t/helper/test-hash-speed.c b/t/helper/test-hash-speed.c index c1e82d5d02..b235da594f 100644 --- a/t/helper/test-hash-speed.c +++ b/t/helper/test-hash-speed.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "cache.h" #include "hash-ll.h" #define NUM_SECONDS 3 diff --git a/t/helper/test-index-version.c b/t/helper/test-index-version.c index b3cbaf6d2a..f3c2dbe0a2 100644 --- a/t/helper/test-index-version.c +++ b/t/helper/test-index-version.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "cache.h" #include "read-cache-ll.h" int cmd__index_version(int argc UNUSED, const char **argv UNUSED) diff --git a/t/helper/test-lazy-init-name-hash.c b/t/helper/test-lazy-init-name-hash.c index 8eb327b3b9..187a115d57 100644 --- a/t/helper/test-lazy-init-name-hash.c +++ b/t/helper/test-lazy-init-name-hash.c @@ -1,6 +1,5 @@ #define USE_THE_INDEX_VARIABLE #include "test-tool.h" -#include "cache.h" #include "environment.h" #include "name-hash.h" #include "parse-options.h" diff --git a/t/helper/test-path-utils.c b/t/helper/test-path-utils.c index 90e4d29a06..70396fa384 100644 --- a/t/helper/test-path-utils.c +++ b/t/helper/test-path-utils.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "cache.h" #include "abspath.h" #include "environment.h" #include "path.h" diff --git a/t/helper/test-read-cache.c b/t/helper/test-read-cache.c index 0d548814e0..56c2d25f35 100644 --- a/t/helper/test-read-cache.c +++ b/t/helper/test-read-cache.c @@ -1,6 +1,5 @@ #define USE_THE_INDEX_VARIABLE #include "test-tool.h" -#include "cache.h" #include "config.h" #include "read-cache-ll.h" #include "repository.h" diff --git a/t/helper/test-scrap-cache-tree.c b/t/helper/test-scrap-cache-tree.c index 7b7e238404..0a816a96e2 100644 --- a/t/helper/test-scrap-cache-tree.c +++ b/t/helper/test-scrap-cache-tree.c @@ -1,6 +1,5 @@ #define USE_THE_INDEX_VARIABLE #include "test-tool.h" -#include "cache.h" #include "lockfile.h" #include "read-cache-ll.h" #include "repository.h" diff --git a/t/helper/test-sha1.c b/t/helper/test-sha1.c index dc6fb17f2a..dcb7f6c003 100644 --- a/t/helper/test-sha1.c +++ b/t/helper/test-sha1.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "cache.h" #include "hash-ll.h" int cmd__sha1(int ac, const char **av) diff --git a/t/helper/test-sha256.c b/t/helper/test-sha256.c index f50f64f1f2..08cf149001 100644 --- a/t/helper/test-sha256.c +++ b/t/helper/test-sha256.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "cache.h" #include "hash-ll.h" int cmd__sha256(int ac, const char **av) diff --git a/t/helper/test-strcmp-offset.c b/t/helper/test-strcmp-offset.c index d3f39207f1..d8473cf2fc 100644 --- a/t/helper/test-strcmp-offset.c +++ b/t/helper/test-strcmp-offset.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "cache.h" #include "read-cache-ll.h" int cmd__strcmp_offset(int argc UNUSED, const char **argv) diff --git a/t/helper/test-write-cache.c b/t/helper/test-write-cache.c index d27125eeac..f084034d38 100644 --- a/t/helper/test-write-cache.c +++ b/t/helper/test-write-cache.c @@ -1,6 +1,5 @@ #define USE_THE_INDEX_VARIABLE #include "test-tool.h" -#include "cache.h" #include "lockfile.h" #include "read-cache-ll.h" #include "repository.h" diff --git a/unpack-trees.c b/unpack-trees.c index fdcc46e474..4b620df303 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "advice.h" #include "strvec.h" #include "repository.h" diff --git a/wt-status.c b/wt-status.c index 847b63c906..6ee8567ac2 100644 --- a/wt-status.c +++ b/wt-status.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "advice.h" #include "wt-status.h" #include "object.h" -- cgit v1.2.3 From a034e9106ff1a4cb6fcb6f2ea3a1a47b4d2ba173 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 16 May 2023 06:34:06 +0000 Subject: object-store-ll.h: split this header out of object-store.h The vast majority of files including object-store.h did not need dir.h nor khash.h. Split the header into two files, and let most just depend upon object-store-ll.h, while letting the two callers that need it depend on the full object-store.h. After this patch: $ git grep -h include..object-store | sort | uniq -c 2 #include "object-store.h" 129 #include "object-store-ll.h" Diff best viewed with `--color-moved`. Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- apply.c | 2 +- archive-tar.c | 2 +- archive-zip.c | 2 +- archive.c | 2 +- attr.c | 2 +- bisect.c | 2 +- blame.c | 2 +- builtin/blame.c | 2 +- builtin/cat-file.c | 2 +- builtin/checkout.c | 2 +- builtin/clone.c | 2 +- builtin/commit-graph.c | 2 +- builtin/commit-tree.c | 2 +- builtin/count-objects.c | 2 +- builtin/describe.c | 2 +- builtin/difftool.c | 2 +- builtin/fast-export.c | 2 +- builtin/fast-import.c | 2 +- builtin/fetch.c | 2 +- builtin/fsck.c | 2 +- builtin/gc.c | 2 +- builtin/grep.c | 2 +- builtin/hash-object.c | 3 +- builtin/index-pack.c | 3 +- builtin/log.c | 2 +- builtin/ls-tree.c | 2 +- builtin/merge-tree.c | 2 +- builtin/mktag.c | 3 +- builtin/mktree.c | 3 +- builtin/multi-pack-index.c | 3 +- builtin/notes.c | 2 +- builtin/pack-objects.c | 2 +- builtin/pack-redundant.c | 2 +- builtin/prune.c | 3 +- builtin/receive-pack.c | 2 +- builtin/remote.c | 2 +- builtin/repack.c | 2 +- builtin/replace.c | 2 +- builtin/rev-list.c | 2 +- builtin/show-ref.c | 2 +- builtin/submodule--helper.c | 2 +- builtin/tag.c | 2 +- builtin/unpack-file.c | 2 +- builtin/unpack-objects.c | 2 +- builtin/verify-commit.c | 2 +- bulk-checkin.c | 2 +- bundle-uri.c | 2 +- bundle.c | 2 +- cache-tree.c | 2 +- combine-diff.c | 2 +- commit-graph.c | 2 +- commit-graph.h | 2 +- commit.c | 2 +- config.c | 2 +- connected.c | 2 +- convert.c | 2 +- diagnose.c | 2 +- diff.c | 2 +- diffcore-rename.c | 2 +- dir.c | 2 +- entry.c | 2 +- environment.c | 2 +- fetch-pack.c | 2 +- fmt-merge-msg.c | 2 +- fsck.c | 3 +- grep.c | 2 +- http-backend.c | 2 +- http-push.c | 2 +- http-walker.c | 2 +- http.c | 2 +- list-objects-filter.c | 2 +- list-objects.c | 2 +- log-tree.c | 2 +- mailmap.c | 2 +- match-trees.c | 3 +- merge-blobs.c | 2 +- merge-ort.c | 2 +- merge-recursive.c | 2 +- midx.c | 2 +- notes-cache.c | 3 +- notes-merge.c | 2 +- notes.c | 2 +- object-name.c | 2 +- object-store-ll.h | 533 ++++++++++++++++++++++++++++++++++++++++++ object-store.h | 528 +---------------------------------------- oss-fuzz/fuzz-pack-idx.c | 2 +- pack-bitmap-write.c | 2 +- pack-bitmap.c | 2 +- pack-check.c | 2 +- pack-mtimes.c | 3 +- pack-objects.h | 2 +- pack-revindex.c | 3 +- pack-write.c | 1 + packfile.c | 2 +- path.c | 2 +- promisor-remote.c | 2 +- protocol-caps.c | 2 +- prune-packed.c | 2 +- reachable.c | 2 +- read-cache.c | 2 +- ref-filter.c | 2 +- reflog.c | 2 +- refs.c | 2 +- remote.c | 2 +- replace-object.c | 2 +- replace-object.h | 2 +- repository.c | 2 +- rerere.c | 2 +- revision.c | 2 +- send-pack.c | 2 +- sequencer.c | 2 +- server-info.c | 2 +- shallow.c | 2 +- streaming.c | 2 +- submodule-config.c | 2 +- submodule.c | 2 +- t/helper/test-pack-mtimes.c | 2 +- t/helper/test-partial-clone.c | 2 +- t/helper/test-read-graph.c | 2 +- t/helper/test-read-midx.c | 2 +- t/helper/test-ref-store.c | 3 +- t/helper/test-repository.c | 2 +- tag.c | 2 +- tmp-objdir.c | 2 +- transport.c | 2 +- tree-walk.c | 2 +- tree.c | 2 +- unpack-trees.c | 2 +- upload-pack.c | 2 +- walker.c | 3 +- xdiff-interface.c | 3 +- 131 files changed, 677 insertions(+), 655 deletions(-) create mode 100644 object-store-ll.h (limited to 'cache-tree.c') diff --git a/apply.c b/apply.c index 2f66f93fec..8bd0109fcc 100644 --- a/apply.c +++ b/apply.c @@ -12,7 +12,7 @@ #include "alloc.h" #include "base85.h" #include "config.h" -#include "object-store.h" +#include "object-store-ll.h" #include "blob.h" #include "delta.h" #include "diff.h" diff --git a/archive-tar.c b/archive-tar.c index 4cd81d8161..fc06ff4c5d 100644 --- a/archive-tar.c +++ b/archive-tar.c @@ -9,7 +9,7 @@ #include "hex.h" #include "tar.h" #include "archive.h" -#include "object-store.h" +#include "object-store-ll.h" #include "streaming.h" #include "run-command.h" #include "write-or-die.h" diff --git a/archive-zip.c b/archive-zip.c index d0d065a312..b438264096 100644 --- a/archive-zip.c +++ b/archive-zip.c @@ -9,7 +9,7 @@ #include "hex.h" #include "streaming.h" #include "utf8.h" -#include "object-store.h" +#include "object-store-ll.h" #include "userdiff.h" #include "write-or-die.h" #include "xdiff-interface.h" diff --git a/archive.c b/archive.c index 2ad5f44201..1817cca9f4 100644 --- a/archive.c +++ b/archive.c @@ -10,7 +10,7 @@ #include "pretty.h" #include "setup.h" #include "refs.h" -#include "object-store.h" +#include "object-store-ll.h" #include "commit.h" #include "tree.h" #include "tree-walk.h" diff --git a/attr.c b/attr.c index 2514c8a002..7d39ac4a29 100644 --- a/attr.c +++ b/attr.c @@ -19,7 +19,7 @@ #include "quote.h" #include "read-cache-ll.h" #include "revision.h" -#include "object-store.h" +#include "object-store-ll.h" #include "setup.h" #include "thread-utils.h" #include "tree-walk.h" diff --git a/bisect.c b/bisect.c index 9f7cf0be07..1be8e0a271 100644 --- a/bisect.c +++ b/bisect.c @@ -18,7 +18,7 @@ #include "commit-slab.h" #include "commit-reach.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "dir.h" diff --git a/blame.c b/blame.c index 2e25a7254c..d12bd9f97b 100644 --- a/blame.c +++ b/blame.c @@ -1,6 +1,6 @@ #include "git-compat-util.h" #include "refs.h" -#include "object-store.h" +#include "object-store-ll.h" #include "cache-tree.h" #include "mergesort.h" #include "convert.h" diff --git a/builtin/blame.c b/builtin/blame.c index 2df6039a6e..e811e7fbfb 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -29,7 +29,7 @@ #include "dir.h" #include "progress.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "pager.h" #include "blame.h" #include "refs.h" diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 9646e7209c..48ccca95a1 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -21,7 +21,7 @@ #include "packfile.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "replace-object.h" #include "promisor-remote.h" #include "mailmap.h" diff --git a/builtin/checkout.c b/builtin/checkout.c index 11e2359c54..fd6ee8c272 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -18,7 +18,7 @@ #include "mem-pool.h" #include "merge-recursive.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "parse-options.h" #include "path.h" #include "preload-index.h" diff --git a/builtin/clone.c b/builtin/clone.c index 6c5cb33f6a..687a686269 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -23,7 +23,7 @@ #include "refs.h" #include "refspec.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "tree.h" #include "tree-walk.h" #include "unpack-trees.h" diff --git a/builtin/commit-graph.c b/builtin/commit-graph.c index 96a8a67732..48fa9f20c9 100644 --- a/builtin/commit-graph.c +++ b/builtin/commit-graph.c @@ -9,7 +9,7 @@ #include "parse-options.h" #include "repository.h" #include "commit-graph.h" -#include "object-store.h" +#include "object-store-ll.h" #include "progress.h" #include "replace-object.h" #include "tag.h" diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c index d2121f30d4..02625e7176 100644 --- a/builtin/commit-tree.c +++ b/builtin/commit-tree.c @@ -8,7 +8,7 @@ #include "gettext.h" #include "hex.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "repository.h" #include "commit.h" #include "tree.h" diff --git a/builtin/count-objects.c b/builtin/count-objects.c index c9f82d0bce..97cdfb0ac5 100644 --- a/builtin/count-objects.c +++ b/builtin/count-objects.c @@ -14,7 +14,7 @@ #include "parse-options.h" #include "quote.h" #include "packfile.h" -#include "object-store.h" +#include "object-store-ll.h" static unsigned long garbage; static off_t size_garbage; diff --git a/builtin/describe.c b/builtin/describe.c index eb19ab0bbb..7ce23e1b8e 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -19,7 +19,7 @@ #include "setup.h" #include "strvec.h" #include "run-command.h" -#include "object-store.h" +#include "object-store-ll.h" #include "list-objects.h" #include "commit-slab.h" #include "wildmatch.h" diff --git a/builtin/difftool.c b/builtin/difftool.c index 4a22de3edd..e2c9ab7d5d 100644 --- a/builtin/difftool.c +++ b/builtin/difftool.c @@ -28,7 +28,7 @@ #include "strbuf.h" #include "lockfile.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "dir.h" #include "entry.h" #include "setup.h" diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 5f3ffd6912..56dc69fac1 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -10,7 +10,7 @@ #include "refs.h" #include "refspec.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "commit.h" #include "object.h" #include "tag.h" diff --git a/builtin/fast-import.c b/builtin/fast-import.c index 5698b92ae7..2ee19c7373 100644 --- a/builtin/fast-import.c +++ b/builtin/fast-import.c @@ -21,7 +21,7 @@ #include "packfile.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "mem-pool.h" #include "commit-reach.h" #include "khash.h" diff --git a/builtin/fetch.c b/builtin/fetch.c index d51b28fe2e..951a23d733 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -11,7 +11,7 @@ #include "refs.h" #include "refspec.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "oidset.h" #include "oid-array.h" #include "commit.h" diff --git a/builtin/fsck.c b/builtin/fsck.c index 88c466c048..b81f1a2010 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -20,7 +20,7 @@ #include "packfile.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "read-cache-ll.h" #include "replace-object.h" diff --git a/builtin/gc.c b/builtin/gc.c index aeceed4117..91eec7703a 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -27,7 +27,7 @@ #include "commit-graph.h" #include "packfile.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "pack.h" #include "pack-objects.h" #include "path.h" diff --git a/builtin/grep.c b/builtin/grep.c index 6bc8abcd3e..72e70b3a48 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -27,7 +27,7 @@ #include "submodule-config.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "packfile.h" #include "pager.h" #include "path.h" diff --git a/builtin/hash-object.c b/builtin/hash-object.c index a380121166..5ffec99dce 100644 --- a/builtin/hash-object.c +++ b/builtin/hash-object.c @@ -10,12 +10,13 @@ #include "gettext.h" #include "hex.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "blob.h" #include "quote.h" #include "parse-options.h" #include "exec-cmd.h" #include "setup.h" +#include "strbuf.h" #include "write-or-die.h" /* diff --git a/builtin/index-pack.c b/builtin/index-pack.c index bb67e16655..820860265d 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -14,12 +14,13 @@ #include "progress.h" #include "fsck.h" #include "exec-cmd.h" +#include "strbuf.h" #include "streaming.h" #include "thread-utils.h" #include "packfile.h" #include "pack-revindex.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "oid-array.h" #include "replace-object.h" #include "promisor-remote.h" diff --git a/builtin/log.c b/builtin/log.c index c85f13a5d5..89442dceda 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -14,7 +14,7 @@ #include "refs.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "pager.h" #include "color.h" #include "commit.h" diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c index c06858de4b..4e17f13648 100644 --- a/builtin/ls-tree.c +++ b/builtin/ls-tree.c @@ -8,7 +8,7 @@ #include "gettext.h" #include "hex.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "blob.h" #include "tree.h" #include "commit.h" diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index 4325897a80..6f7db436d2 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -9,7 +9,7 @@ #include "commit-reach.h" #include "merge-ort.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "parse-options.h" #include "repository.h" #include "blob.h" diff --git a/builtin/mktag.c b/builtin/mktag.c index 44fa56eff3..43e2766db4 100644 --- a/builtin/mktag.c +++ b/builtin/mktag.c @@ -2,10 +2,11 @@ #include "gettext.h" #include "hex.h" #include "parse-options.h" +#include "strbuf.h" #include "tag.h" #include "replace-object.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "fsck.h" #include "config.h" diff --git a/builtin/mktree.c b/builtin/mktree.c index 09a7bd5c5c..0eea810c7e 100644 --- a/builtin/mktree.c +++ b/builtin/mktree.c @@ -8,9 +8,10 @@ #include "gettext.h" #include "hex.h" #include "quote.h" +#include "strbuf.h" #include "tree.h" #include "parse-options.h" -#include "object-store.h" +#include "object-store-ll.h" static struct treeent { unsigned mode; diff --git a/builtin/multi-pack-index.c b/builtin/multi-pack-index.c index 5bb71bce08..a31dde1db9 100644 --- a/builtin/multi-pack-index.c +++ b/builtin/multi-pack-index.c @@ -5,8 +5,9 @@ #include "gettext.h" #include "parse-options.h" #include "midx.h" +#include "strbuf.h" #include "trace2.h" -#include "object-store.h" +#include "object-store-ll.h" #define BUILTIN_MIDX_WRITE_USAGE \ N_("git multi-pack-index [] write [--preferred-pack=]" \ diff --git a/builtin/notes.c b/builtin/notes.c index 0a870d9083..0a19796f73 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -14,7 +14,7 @@ #include "hex.h" #include "notes.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "repository.h" #include "blob.h" diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 9cfc8801f9..af9352b228 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -34,7 +34,7 @@ #include "list.h" #include "packfile.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "replace-object.h" #include "dir.h" #include "midx.h" diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c index 43e9d12dfd..4c735ba069 100644 --- a/builtin/pack-redundant.c +++ b/builtin/pack-redundant.c @@ -11,7 +11,7 @@ #include "hex.h" #include "repository.h" #include "packfile.h" -#include "object-store.h" +#include "object-store-ll.h" #define BLKSIZE 512 diff --git a/builtin/prune.c b/builtin/prune.c index a46c5aa2b5..cfb863ae84 100644 --- a/builtin/prune.c +++ b/builtin/prune.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "commit.h" #include "diff.h" +#include "dir.h" #include "environment.h" #include "gettext.h" #include "hex.h" @@ -13,7 +14,7 @@ #include "replace-object.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "shallow.h" static const char * const prune_usage[] = { diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index d1718a3ac9..91caaf8706 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -30,7 +30,7 @@ #include "oidset.h" #include "packfile.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "protocol.h" #include "commit-reach.h" diff --git a/builtin/remote.c b/builtin/remote.c index 3794f13330..7d96687ec7 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -11,7 +11,7 @@ #include "rebase.h" #include "refs.h" #include "refspec.h" -#include "object-store.h" +#include "object-store-ll.h" #include "strvec.h" #include "commit-reach.h" #include "progress.h" diff --git a/builtin/repack.c b/builtin/repack.c index fe8d5810d4..6c896c9c80 100644 --- a/builtin/repack.c +++ b/builtin/repack.c @@ -16,7 +16,7 @@ #include "midx.h" #include "packfile.h" #include "prune-packed.h" -#include "object-store.h" +#include "object-store-ll.h" #include "promisor-remote.h" #include "shallow.h" #include "pack.h" diff --git a/builtin/replace.c b/builtin/replace.c index a2f57a56b3..20c67a5889 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -20,7 +20,7 @@ #include "run-command.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "replace-object.h" #include "repository.h" #include "tag.h" diff --git a/builtin/rev-list.c b/builtin/rev-list.c index 8029f3de53..ff715d6918 100644 --- a/builtin/rev-list.c +++ b/builtin/rev-list.c @@ -12,7 +12,7 @@ #include "object.h" #include "object-name.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "pack.h" #include "pack-bitmap.h" #include "log-tree.h" diff --git a/builtin/show-ref.c b/builtin/show-ref.c index e07e9ca862..5110814f79 100644 --- a/builtin/show-ref.c +++ b/builtin/show-ref.c @@ -4,7 +4,7 @@ #include "hex.h" #include "refs.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "object.h" #include "tag.h" #include "string-list.h" diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 5fddfb158d..6321d7e9c9 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -29,7 +29,7 @@ #include "diff.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "advice.h" #include "branch.h" #include "list-objects-filter-options.h" diff --git a/builtin/tag.c b/builtin/tag.c index 26122dd103..e63bee8eab 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -15,7 +15,7 @@ #include "hex.h" #include "refs.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "tag.h" #include "run-command.h" diff --git a/builtin/unpack-file.c b/builtin/unpack-file.c index b35a4b9dfe..6842a6c499 100644 --- a/builtin/unpack-file.c +++ b/builtin/unpack-file.c @@ -2,7 +2,7 @@ #include "config.h" #include "hex.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "wrapper.h" static char *create_temp_file(struct object_id *oid) diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c index 85baf6a131..b4b46ae729 100644 --- a/builtin/unpack-objects.c +++ b/builtin/unpack-objects.c @@ -5,7 +5,7 @@ #include "gettext.h" #include "git-zlib.h" #include "hex.h" -#include "object-store.h" +#include "object-store-ll.h" #include "object.h" #include "delta.h" #include "pack.h" diff --git a/builtin/verify-commit.c b/builtin/verify-commit.c index aa34fb896a..9680b58701 100644 --- a/builtin/verify-commit.c +++ b/builtin/verify-commit.c @@ -9,7 +9,7 @@ #include "config.h" #include "gettext.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "repository.h" #include "commit.h" #include "run-command.h" diff --git a/bulk-checkin.c b/bulk-checkin.c index d843279715..e2f71db0f6 100644 --- a/bulk-checkin.c +++ b/bulk-checkin.c @@ -16,7 +16,7 @@ #include "tmp-objdir.h" #include "packfile.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "wrapper.h" static int odb_transaction_nesting; diff --git a/bundle-uri.c b/bundle-uri.c index 2a2db1a1d3..a97dcbdb86 100644 --- a/bundle-uri.c +++ b/bundle-uri.c @@ -4,7 +4,7 @@ #include "copy.h" #include "environment.h" #include "gettext.h" -#include "object-store.h" +#include "object-store-ll.h" #include "refs.h" #include "run-command.h" #include "hashmap.h" diff --git a/bundle.c b/bundle.c index a5505368de..8d5936c421 100644 --- a/bundle.c +++ b/bundle.c @@ -4,7 +4,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" -#include "object-store.h" +#include "object-store-ll.h" #include "repository.h" #include "object.h" #include "commit.h" diff --git a/cache-tree.c b/cache-tree.c index 077932c2db..84d7491420 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -8,7 +8,7 @@ #include "cache-tree.h" #include "bulk-checkin.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "read-cache-ll.h" #include "replace-object.h" #include "promisor-remote.h" diff --git a/combine-diff.c b/combine-diff.c index 1e3cd7fb17..11e9d7494a 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -1,5 +1,5 @@ #include "git-compat-util.h" -#include "object-store.h" +#include "object-store-ll.h" #include "commit.h" #include "convert.h" #include "blob.h" diff --git a/commit-graph.c b/commit-graph.c index 25cbd66c33..9e989f4349 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -12,7 +12,7 @@ #include "hash-lookup.h" #include "commit-graph.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "oid-array.h" #include "path.h" #include "alloc.h" diff --git a/commit-graph.h b/commit-graph.h index 83aaa1dbb9..5e534f0fcc 100644 --- a/commit-graph.h +++ b/commit-graph.h @@ -1,7 +1,7 @@ #ifndef COMMIT_GRAPH_H #define COMMIT_GRAPH_H -#include "object-store.h" +#include "object-store-ll.h" #include "oidset.h" #define GIT_TEST_COMMIT_GRAPH "GIT_TEST_COMMIT_GRAPH" diff --git a/commit.c b/commit.c index 0fb9316931..6507791061 100644 --- a/commit.c +++ b/commit.c @@ -7,7 +7,7 @@ #include "hex.h" #include "repository.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "pkt-line.h" #include "utf8.h" #include "diff.h" diff --git a/config.c b/config.c index 27ae207280..50f4b409aa 100644 --- a/config.c +++ b/config.c @@ -25,7 +25,7 @@ #include "hashmap.h" #include "string-list.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "pager.h" #include "path.h" #include "utf8.h" diff --git a/connected.c b/connected.c index d672521da4..8f89376dbc 100644 --- a/connected.c +++ b/connected.c @@ -1,7 +1,7 @@ #include "git-compat-util.h" #include "gettext.h" #include "hex.h" -#include "object-store.h" +#include "object-store-ll.h" #include "run-command.h" #include "sigchain.h" #include "connected.h" diff --git a/convert.c b/convert.c index 572d7123a9..3d8325d49e 100644 --- a/convert.c +++ b/convert.c @@ -5,7 +5,7 @@ #include "copy.h" #include "gettext.h" #include "hex.h" -#include "object-store.h" +#include "object-store-ll.h" #include "attr.h" #include "run-command.h" #include "quote.h" diff --git a/diagnose.c b/diagnose.c index c8c7ebcfa3..8430064000 100644 --- a/diagnose.c +++ b/diagnose.c @@ -7,7 +7,7 @@ #include "gettext.h" #include "hex.h" #include "strvec.h" -#include "object-store.h" +#include "object-store-ll.h" #include "packfile.h" #include "parse-options.h" #include "write-or-die.h" diff --git a/diff.c b/diff.c index d02fbf507e..6fb2946a64 100644 --- a/diff.c +++ b/diff.c @@ -20,7 +20,7 @@ #include "attr.h" #include "run-command.h" #include "utf8.h" -#include "object-store.h" +#include "object-store-ll.h" #include "userdiff.h" #include "submodule-config.h" #include "submodule.h" diff --git a/diffcore-rename.c b/diffcore-rename.c index 8e2e7a3ad7..926b554bd5 100644 --- a/diffcore-rename.c +++ b/diffcore-rename.c @@ -6,7 +6,7 @@ #include "alloc.h" #include "diff.h" #include "diffcore.h" -#include "object-store.h" +#include "object-store-ll.h" #include "hashmap.h" #include "mem-pool.h" #include "oid-array.h" diff --git a/dir.c b/dir.c index 3cf3d428c7..fada2713b9 100644 --- a/dir.c +++ b/dir.c @@ -15,7 +15,7 @@ #include "gettext.h" #include "name-hash.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "attr.h" #include "refs.h" diff --git a/entry.c b/entry.c index 041f5cf212..f9a7c726a4 100644 --- a/entry.c +++ b/entry.c @@ -1,6 +1,6 @@ #include "git-compat-util.h" #include "blob.h" -#include "object-store.h" +#include "object-store-ll.h" #include "dir.h" #include "environment.h" #include "gettext.h" diff --git a/environment.c b/environment.c index 5c494777a6..821d458c92 100644 --- a/environment.c +++ b/environment.c @@ -20,7 +20,7 @@ #include "commit.h" #include "strvec.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "replace-object.h" #include "tmp-objdir.h" diff --git a/fetch-pack.c b/fetch-pack.c index 207548b3e5..a432eacab9 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -24,7 +24,7 @@ #include "oid-array.h" #include "oidset.h" #include "packfile.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "connected.h" #include "fetch-negotiator.h" diff --git a/fmt-merge-msg.c b/fmt-merge-msg.c index f096b1ef54..4da6c7a8bd 100644 --- a/fmt-merge-msg.c +++ b/fmt-merge-msg.c @@ -4,7 +4,7 @@ #include "environment.h" #include "refs.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "diff.h" #include "diff-merges.h" #include "hex.h" diff --git a/fsck.c b/fsck.c index 04e729953b..a219d6f2c0 100644 --- a/fsck.c +++ b/fsck.c @@ -1,8 +1,9 @@ #include "git-compat-util.h" #include "alloc.h" #include "date.h" +#include "dir.h" #include "hex.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "repository.h" #include "object.h" diff --git a/grep.c b/grep.c index f00986c451..ebcd647478 100644 --- a/grep.c +++ b/grep.c @@ -3,7 +3,7 @@ #include "gettext.h" #include "grep.h" #include "hex.h" -#include "object-store.h" +#include "object-store-ll.h" #include "pretty.h" #include "userdiff.h" #include "xdiff-interface.h" diff --git a/http-backend.c b/http-backend.c index ddb9549ecb..e1969c05dc 100644 --- a/http-backend.c +++ b/http-backend.c @@ -16,7 +16,7 @@ #include "url.h" #include "strvec.h" #include "packfile.h" -#include "object-store.h" +#include "object-store-ll.h" #include "protocol.h" #include "date.h" #include "wrapper.h" diff --git a/http-push.c b/http-push.c index 29cf9db34e..9ab2383d2b 100644 --- a/http-push.c +++ b/http-push.c @@ -18,7 +18,7 @@ #include "tree.h" #include "tree-walk.h" #include "packfile.h" -#include "object-store.h" +#include "object-store-ll.h" #include "commit-reach.h" #ifdef EXPAT_NEEDS_XMLPARSE_H diff --git a/http-walker.c b/http-walker.c index bba306b2d5..78d99f7c4b 100644 --- a/http-walker.c +++ b/http-walker.c @@ -7,7 +7,7 @@ #include "list.h" #include "transport.h" #include "packfile.h" -#include "object-store.h" +#include "object-store-ll.h" struct alt_base { char *base; diff --git a/http.c b/http.c index bb58bb3e6a..25e4c8a1ae 100644 --- a/http.c +++ b/http.c @@ -18,7 +18,7 @@ #include "protocol.h" #include "string-list.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" static struct trace_key trace_curl = TRACE_KEY_INIT(CURL); static int trace_curl_data = 1; diff --git a/list-objects-filter.c b/list-objects-filter.c index 5d270ce598..e075a66c99 100644 --- a/list-objects-filter.c +++ b/list-objects-filter.c @@ -16,7 +16,7 @@ #include "oidmap.h" #include "oidset.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" /* Remember to update object flag allocation in object.h */ /* diff --git a/list-objects.c b/list-objects.c index eecca721ac..672a4cd529 100644 --- a/list-objects.c +++ b/list-objects.c @@ -12,7 +12,7 @@ #include "list-objects-filter.h" #include "list-objects-filter-options.h" #include "packfile.h" -#include "object-store.h" +#include "object-store-ll.h" #include "trace.h" struct traversal_context { diff --git a/log-tree.c b/log-tree.c index 60b61597c4..f807e286c8 100644 --- a/log-tree.c +++ b/log-tree.c @@ -5,7 +5,7 @@ #include "environment.h" #include "hex.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "repository.h" #include "tmp-objdir.h" #include "commit.h" diff --git a/mailmap.c b/mailmap.c index 5dc5223c43..3d6a5e9400 100644 --- a/mailmap.c +++ b/mailmap.c @@ -3,7 +3,7 @@ #include "string-list.h" #include "mailmap.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "setup.h" const char *git_mailmap_file; diff --git a/match-trees.c b/match-trees.c index 6bc8eb7647..0885ac681c 100644 --- a/match-trees.c +++ b/match-trees.c @@ -1,9 +1,10 @@ #include "git-compat-util.h" #include "hex.h" #include "match-trees.h" +#include "strbuf.h" #include "tree.h" #include "tree-walk.h" -#include "object-store.h" +#include "object-store-ll.h" static int score_missing(unsigned mode) { diff --git a/merge-blobs.c b/merge-blobs.c index 40c48e3eba..9293cbf75c 100644 --- a/merge-blobs.c +++ b/merge-blobs.c @@ -4,7 +4,7 @@ #include "merge-ll.h" #include "blob.h" #include "merge-blobs.h" -#include "object-store.h" +#include "object-store-ll.h" static int fill_mmfile_blob(mmfile_t *f, struct blob *obj) { diff --git a/merge-ort.c b/merge-ort.c index d88178dddf..8631c99700 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -34,7 +34,7 @@ #include "match-trees.h" #include "mem-pool.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "oid-array.h" #include "path.h" #include "promisor-remote.h" diff --git a/merge-recursive.c b/merge-recursive.c index 35e1e7e1be..43f6b2d036 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -26,7 +26,7 @@ #include "name-hash.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "repository.h" #include "revision.h" diff --git a/midx.c b/midx.c index b500174d1f..db459e448b 100644 --- a/midx.c +++ b/midx.c @@ -9,7 +9,7 @@ #include "lockfile.h" #include "packfile.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "hash-lookup.h" #include "midx.h" #include "progress.h" diff --git a/notes-cache.c b/notes-cache.c index 14288caf98..0e1d5b1ac7 100644 --- a/notes-cache.c +++ b/notes-cache.c @@ -1,10 +1,11 @@ #include "git-compat-util.h" #include "notes-cache.h" -#include "object-store.h" +#include "object-store-ll.h" #include "pretty.h" #include "repository.h" #include "commit.h" #include "refs.h" +#include "strbuf.h" static int notes_cache_match_validity(struct repository *r, const char *ref, diff --git a/notes-merge.c b/notes-merge.c index 4be11a0155..071947894e 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -5,7 +5,7 @@ #include "refs.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "repository.h" #include "diff.h" diff --git a/notes.c b/notes.c index f51a2d3630..503dbc4be1 100644 --- a/notes.c +++ b/notes.c @@ -4,7 +4,7 @@ #include "hex.h" #include "notes.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "blob.h" #include "tree.h" #include "utf8.h" diff --git a/object-name.c b/object-name.c index 45f4d51305..7e96c97051 100644 --- a/object-name.c +++ b/object-name.c @@ -17,7 +17,7 @@ #include "oidtree.h" #include "packfile.h" #include "pretty.h" -#include "object-store.h" +#include "object-store-ll.h" #include "read-cache-ll.h" #include "repository.h" #include "setup.h" diff --git a/object-store-ll.h b/object-store-ll.h new file mode 100644 index 0000000000..e8f22cdb1b --- /dev/null +++ b/object-store-ll.h @@ -0,0 +1,533 @@ +#ifndef OBJECT_STORE_LL_H +#define OBJECT_STORE_LL_H + +#include "hashmap.h" +#include "object.h" +#include "list.h" +#include "thread-utils.h" +#include "oidset.h" + +struct oidmap; +struct oidtree; +struct strbuf; + +struct object_directory { + struct object_directory *next; + + /* + * Used to store the results of readdir(3) calls when we are OK + * sacrificing accuracy due to races for speed. That includes + * object existence with OBJECT_INFO_QUICK, as well as + * our search for unique abbreviated hashes. Don't use it for tasks + * requiring greater accuracy! + * + * Be sure to call odb_load_loose_cache() before using. + */ + uint32_t loose_objects_subdir_seen[8]; /* 256 bits */ + struct oidtree *loose_objects_cache; + + /* + * This is a temporary object store created by the tmp_objdir + * facility. Disable ref updates since the objects in the store + * might be discarded on rollback. + */ + int disable_ref_updates; + + /* + * This object store is ephemeral, so there is no need to fsync. + */ + int will_destroy; + + /* + * Path to the alternative object store. If this is a relative path, + * it is relative to the current working directory. + */ + char *path; +}; + +struct input_stream { + const void *(*read)(struct input_stream *, unsigned long *len); + void *data; + int is_finished; +}; + +void prepare_alt_odb(struct repository *r); +int has_alt_odb(struct repository *r); +char *compute_alternate_path(const char *path, struct strbuf *err); +struct object_directory *find_odb(struct repository *r, const char *obj_dir); +typedef int alt_odb_fn(struct object_directory *, void *); +int foreach_alt_odb(alt_odb_fn, void*); +typedef void alternate_ref_fn(const struct object_id *oid, void *); +void for_each_alternate_ref(alternate_ref_fn, void *); + +/* + * Add the directory to the on-disk alternates file; the new entry will also + * take effect in the current process. + */ +void add_to_alternates_file(const char *dir); + +/* + * Add the directory to the in-memory list of alternates (along with any + * recursive alternates it points to), but do not modify the on-disk alternates + * file. + */ +void add_to_alternates_memory(const char *dir); + +/* + * Replace the current writable object directory with the specified temporary + * object directory; returns the former primary object directory. + */ +struct object_directory *set_temporary_primary_odb(const char *dir, int will_destroy); + +/* + * Restore a previous ODB replaced by set_temporary_main_odb. + */ +void restore_primary_odb(struct object_directory *restore_odb, const char *old_path); + +/* + * Populate and return the loose object cache array corresponding to the + * given object ID. + */ +struct oidtree *odb_loose_cache(struct object_directory *odb, + const struct object_id *oid); + +/* Empty the loose object cache for the specified object directory. */ +void odb_clear_loose_cache(struct object_directory *odb); + +/* Clear and free the specified object directory */ +void free_object_directory(struct object_directory *odb); + +struct packed_git { + struct hashmap_entry packmap_ent; + struct packed_git *next; + struct list_head mru; + struct pack_window *windows; + off_t pack_size; + const void *index_data; + size_t index_size; + uint32_t num_objects; + uint32_t crc_offset; + struct oidset bad_objects; + int index_version; + time_t mtime; + int pack_fd; + int index; /* for builtin/pack-objects.c */ + unsigned pack_local:1, + pack_keep:1, + pack_keep_in_core:1, + freshened:1, + do_not_close:1, + pack_promisor:1, + multi_pack_index:1, + is_cruft:1; + unsigned char hash[GIT_MAX_RAWSZ]; + struct revindex_entry *revindex; + const uint32_t *revindex_data; + const uint32_t *revindex_map; + size_t revindex_size; + /* + * mtimes_map points at the beginning of the memory mapped region of + * this pack's corresponding .mtimes file, and mtimes_size is the size + * of that .mtimes file + */ + const uint32_t *mtimes_map; + size_t mtimes_size; + /* something like ".git/objects/pack/xxxxx.pack" */ + char pack_name[FLEX_ARRAY]; /* more */ +}; + +struct multi_pack_index; + +static inline int pack_map_entry_cmp(const void *cmp_data UNUSED, + const struct hashmap_entry *entry, + const struct hashmap_entry *entry2, + const void *keydata) +{ + const char *key = keydata; + const struct packed_git *pg1, *pg2; + + pg1 = container_of(entry, const struct packed_git, packmap_ent); + pg2 = container_of(entry2, const struct packed_git, packmap_ent); + + return strcmp(pg1->pack_name, key ? key : pg2->pack_name); +} + +struct raw_object_store { + /* + * Set of all object directories; the main directory is first (and + * cannot be NULL after initialization). Subsequent directories are + * alternates. + */ + struct object_directory *odb; + struct object_directory **odb_tail; + struct kh_odb_path_map *odb_by_path; + + int loaded_alternates; + + /* + * A list of alternate object directories loaded from the environment; + * this should not generally need to be accessed directly, but will + * populate the "odb" list when prepare_alt_odb() is run. + */ + char *alternate_db; + + /* + * Objects that should be substituted by other objects + * (see git-replace(1)). + */ + struct oidmap *replace_map; + unsigned replace_map_initialized : 1; + pthread_mutex_t replace_mutex; /* protect object replace functions */ + + struct commit_graph *commit_graph; + unsigned commit_graph_attempted : 1; /* if loading has been attempted */ + + /* + * private data + * + * should only be accessed directly by packfile.c and midx.c + */ + struct multi_pack_index *multi_pack_index; + + /* + * private data + * + * should only be accessed directly by packfile.c + */ + + struct packed_git *packed_git; + /* A most-recently-used ordered version of the packed_git list. */ + struct list_head packed_git_mru; + + struct { + struct packed_git **packs; + unsigned flags; + } kept_pack_cache; + + /* + * A map of packfiles to packed_git structs for tracking which + * packs have been loaded already. + */ + struct hashmap pack_map; + + /* + * A fast, rough count of the number of objects in the repository. + * These two fields are not meant for direct access. Use + * repo_approximate_object_count() instead. + */ + unsigned long approximate_object_count; + unsigned approximate_object_count_valid : 1; + + /* + * Whether packed_git has already been populated with this repository's + * packs. + */ + unsigned packed_git_initialized : 1; +}; + +struct raw_object_store *raw_object_store_new(void); +void raw_object_store_clear(struct raw_object_store *o); + +/* + * Put in `buf` the name of the file in the local object database that + * would be used to store a loose object with the specified oid. + */ +const char *loose_object_path(struct repository *r, struct strbuf *buf, + const struct object_id *oid); + +void *map_loose_object(struct repository *r, const struct object_id *oid, + unsigned long *size); + +void *repo_read_object_file(struct repository *r, + const struct object_id *oid, + enum object_type *type, + unsigned long *size); + +/* Read and unpack an object file into memory, write memory to an object file */ +int oid_object_info(struct repository *r, const struct object_id *, unsigned long *); + +void hash_object_file(const struct git_hash_algo *algo, const void *buf, + unsigned long len, enum object_type type, + struct object_id *oid); + +int write_object_file_flags(const void *buf, unsigned long len, + enum object_type type, struct object_id *oid, + unsigned flags); +static inline int write_object_file(const void *buf, unsigned long len, + enum object_type type, struct object_id *oid) +{ + return write_object_file_flags(buf, len, type, oid, 0); +} + +int write_object_file_literally(const void *buf, unsigned long len, + const char *type, struct object_id *oid, + unsigned flags); +int stream_loose_object(struct input_stream *in_stream, size_t len, + struct object_id *oid); + +/* + * Add an object file to the in-memory object store, without writing it + * to disk. + * + * Callers are responsible for calling write_object_file to record the + * object in persistent storage before writing any other new objects + * that reference it. + */ +int pretend_object_file(void *, unsigned long, enum object_type, + struct object_id *oid); + +int force_object_loose(const struct object_id *oid, time_t mtime); + +struct object_info { + /* Request */ + enum object_type *typep; + unsigned long *sizep; + off_t *disk_sizep; + struct object_id *delta_base_oid; + struct strbuf *type_name; + void **contentp; + + /* Response */ + enum { + OI_CACHED, + OI_LOOSE, + OI_PACKED, + OI_DBCACHED + } whence; + union { + /* + * struct { + * ... Nothing to expose in this case + * } cached; + * struct { + * ... Nothing to expose in this case + * } loose; + */ + struct { + struct packed_git *pack; + off_t offset; + unsigned int is_delta; + } packed; + } u; +}; + +/* + * Initializer for a "struct object_info" that wants no items. You may + * also memset() the memory to all-zeroes. + */ +#define OBJECT_INFO_INIT { 0 } + +/* Invoke lookup_replace_object() on the given hash */ +#define OBJECT_INFO_LOOKUP_REPLACE 1 +/* Allow reading from a loose object file of unknown/bogus type */ +#define OBJECT_INFO_ALLOW_UNKNOWN_TYPE 2 +/* Do not retry packed storage after checking packed and loose storage */ +#define OBJECT_INFO_QUICK 8 +/* + * Do not attempt to fetch the object if missing (even if fetch_is_missing is + * nonzero). + */ +#define OBJECT_INFO_SKIP_FETCH_OBJECT 16 +/* + * This is meant for bulk prefetching of missing blobs in a partial + * clone. Implies OBJECT_INFO_SKIP_FETCH_OBJECT and OBJECT_INFO_QUICK + */ +#define OBJECT_INFO_FOR_PREFETCH (OBJECT_INFO_SKIP_FETCH_OBJECT | OBJECT_INFO_QUICK) + +/* Die if object corruption (not just an object being missing) was detected. */ +#define OBJECT_INFO_DIE_IF_CORRUPT 32 + +int oid_object_info_extended(struct repository *r, + const struct object_id *, + struct object_info *, unsigned flags); + +/* + * Open the loose object at path, check its hash, and return the contents, + * use the "oi" argument to assert things about the object, or e.g. populate its + * type, and size. If the object is a blob, then "contents" may return NULL, + * to allow streaming of large blobs. + * + * Returns 0 on success, negative on error (details may be written to stderr). + */ +int read_loose_object(const char *path, + const struct object_id *expected_oid, + struct object_id *real_oid, + void **contents, + struct object_info *oi); + +/* Retry packed storage after checking packed and loose storage */ +#define HAS_OBJECT_RECHECK_PACKED 1 + +/* + * Returns 1 if the object exists. This function will not lazily fetch objects + * in a partial clone. + */ +int has_object(struct repository *r, const struct object_id *oid, + unsigned flags); + +/* + * These macros and functions are deprecated. If checking existence for an + * object that is likely to be missing and/or whose absence is relatively + * inconsequential (or is consequential but the caller is prepared to handle + * it), use has_object(), which has better defaults (no lazy fetch in a partial + * clone and no rechecking of packed storage). In the unlikely event that a + * caller needs to assert existence of an object that it fully expects to + * exist, and wants to trigger a lazy fetch in a partial clone, use + * oid_object_info_extended() with a NULL struct object_info. + * + * These functions can be removed once all callers have migrated to + * has_object() and/or oid_object_info_extended(). + */ +int repo_has_object_file(struct repository *r, const struct object_id *oid); +int repo_has_object_file_with_flags(struct repository *r, + const struct object_id *oid, int flags); + +/* + * Return true iff an alternate object database has a loose object + * with the specified name. This function does not respect replace + * references. + */ +int has_loose_object_nonlocal(const struct object_id *); + +int has_loose_object(const struct object_id *); + +/** + * format_object_header() is a thin wrapper around s xsnprintf() that + * writes the initial " " part of the loose object + * header. It returns the size that snprintf() returns + 1. + */ +int format_object_header(char *str, size_t size, enum object_type type, + size_t objsize); + +void assert_oid_type(const struct object_id *oid, enum object_type expect); + +/* + * Enabling the object read lock allows multiple threads to safely call the + * following functions in parallel: repo_read_object_file(), + * read_object_with_reference(), oid_object_info() and oid_object_info_extended(). + * + * obj_read_lock() and obj_read_unlock() may also be used to protect other + * section which cannot execute in parallel with object reading. Since the used + * lock is a recursive mutex, these sections can even contain calls to object + * reading functions. However, beware that in these cases zlib inflation won't + * be performed in parallel, losing performance. + * + * TODO: oid_object_info_extended()'s call stack has a recursive behavior. If + * any of its callees end up calling it, this recursive call won't benefit from + * parallel inflation. + */ +void enable_obj_read_lock(void); +void disable_obj_read_lock(void); + +extern int obj_read_use_lock; +extern pthread_mutex_t obj_read_mutex; + +static inline void obj_read_lock(void) +{ + if(obj_read_use_lock) + pthread_mutex_lock(&obj_read_mutex); +} + +static inline void obj_read_unlock(void) +{ + if(obj_read_use_lock) + pthread_mutex_unlock(&obj_read_mutex); +} + +/* + * Iterate over the files in the loose-object parts of the object + * directory "path", triggering the following callbacks: + * + * - loose_object is called for each loose object we find. + * + * - loose_cruft is called for any files that do not appear to be + * loose objects. Note that we only look in the loose object + * directories "objects/[0-9a-f]{2}/", so we will not report + * "objects/foobar" as cruft. + * + * - loose_subdir is called for each top-level hashed subdirectory + * of the object directory (e.g., "$OBJDIR/f0"). It is called + * after the objects in the directory are processed. + * + * Any callback that is NULL will be ignored. Callbacks returning non-zero + * will end the iteration. + * + * In the "buf" variant, "path" is a strbuf which will also be used as a + * scratch buffer, but restored to its original contents before + * the function returns. + */ +typedef int each_loose_object_fn(const struct object_id *oid, + const char *path, + void *data); +typedef int each_loose_cruft_fn(const char *basename, + const char *path, + void *data); +typedef int each_loose_subdir_fn(unsigned int nr, + const char *path, + void *data); +int for_each_file_in_obj_subdir(unsigned int subdir_nr, + struct strbuf *path, + each_loose_object_fn obj_cb, + each_loose_cruft_fn cruft_cb, + each_loose_subdir_fn subdir_cb, + void *data); +int for_each_loose_file_in_objdir(const char *path, + each_loose_object_fn obj_cb, + each_loose_cruft_fn cruft_cb, + each_loose_subdir_fn subdir_cb, + void *data); +int for_each_loose_file_in_objdir_buf(struct strbuf *path, + each_loose_object_fn obj_cb, + each_loose_cruft_fn cruft_cb, + each_loose_subdir_fn subdir_cb, + void *data); + +/* Flags for for_each_*_object() below. */ +enum for_each_object_flags { + /* Iterate only over local objects, not alternates. */ + FOR_EACH_OBJECT_LOCAL_ONLY = (1<<0), + + /* Only iterate over packs obtained from the promisor remote. */ + FOR_EACH_OBJECT_PROMISOR_ONLY = (1<<1), + + /* + * Visit objects within a pack in packfile order rather than .idx order + */ + FOR_EACH_OBJECT_PACK_ORDER = (1<<2), + + /* Only iterate over packs that are not marked as kept in-core. */ + FOR_EACH_OBJECT_SKIP_IN_CORE_KEPT_PACKS = (1<<3), + + /* Only iterate over packs that do not have .keep files. */ + FOR_EACH_OBJECT_SKIP_ON_DISK_KEPT_PACKS = (1<<4), +}; + +/* + * Iterate over all accessible loose objects without respect to + * reachability. By default, this includes both local and alternate objects. + * The order in which objects are visited is unspecified. + * + * Any flags specific to packs are ignored. + */ +int for_each_loose_object(each_loose_object_fn, void *, + enum for_each_object_flags flags); + +/* + * Iterate over all accessible packed objects without respect to reachability. + * By default, this includes both local and alternate packs. + * + * Note that some objects may appear twice if they are found in multiple packs. + * Each pack is visited in an unspecified order. By default, objects within a + * pack are visited in pack-idx order (i.e., sorted by oid). + */ +typedef int each_packed_object_fn(const struct object_id *oid, + struct packed_git *pack, + uint32_t pos, + void *data); +int for_each_object_in_pack(struct packed_git *p, + each_packed_object_fn, void *data, + enum for_each_object_flags flags); +int for_each_packed_object(each_packed_object_fn, void *, + enum for_each_object_flags flags); + +#endif /* OBJECT_STORE_LL_H */ diff --git a/object-store.h b/object-store.h index 05803a03e9..1b3e3d7d01 100644 --- a/object-store.h +++ b/object-store.h @@ -1,537 +1,11 @@ #ifndef OBJECT_STORE_H #define OBJECT_STORE_H -#include "object.h" -#include "list.h" -#include "thread-utils.h" #include "khash.h" #include "dir.h" -#include "oidset.h" - -struct oidmap; -struct oidtree; -struct strbuf; - -struct object_directory { - struct object_directory *next; - - /* - * Used to store the results of readdir(3) calls when we are OK - * sacrificing accuracy due to races for speed. That includes - * object existence with OBJECT_INFO_QUICK, as well as - * our search for unique abbreviated hashes. Don't use it for tasks - * requiring greater accuracy! - * - * Be sure to call odb_load_loose_cache() before using. - */ - uint32_t loose_objects_subdir_seen[8]; /* 256 bits */ - struct oidtree *loose_objects_cache; - - /* - * This is a temporary object store created by the tmp_objdir - * facility. Disable ref updates since the objects in the store - * might be discarded on rollback. - */ - int disable_ref_updates; - - /* - * This object store is ephemeral, so there is no need to fsync. - */ - int will_destroy; - - /* - * Path to the alternative object store. If this is a relative path, - * it is relative to the current working directory. - */ - char *path; -}; - -struct input_stream { - const void *(*read)(struct input_stream *, unsigned long *len); - void *data; - int is_finished; -}; +#include "object-store-ll.h" KHASH_INIT(odb_path_map, const char * /* key: odb_path */, struct object_directory *, 1, fspathhash, fspatheq) -void prepare_alt_odb(struct repository *r); -int has_alt_odb(struct repository *r); -char *compute_alternate_path(const char *path, struct strbuf *err); -struct object_directory *find_odb(struct repository *r, const char *obj_dir); -typedef int alt_odb_fn(struct object_directory *, void *); -int foreach_alt_odb(alt_odb_fn, void*); -typedef void alternate_ref_fn(const struct object_id *oid, void *); -void for_each_alternate_ref(alternate_ref_fn, void *); - -/* - * Add the directory to the on-disk alternates file; the new entry will also - * take effect in the current process. - */ -void add_to_alternates_file(const char *dir); - -/* - * Add the directory to the in-memory list of alternates (along with any - * recursive alternates it points to), but do not modify the on-disk alternates - * file. - */ -void add_to_alternates_memory(const char *dir); - -/* - * Replace the current writable object directory with the specified temporary - * object directory; returns the former primary object directory. - */ -struct object_directory *set_temporary_primary_odb(const char *dir, int will_destroy); - -/* - * Restore a previous ODB replaced by set_temporary_main_odb. - */ -void restore_primary_odb(struct object_directory *restore_odb, const char *old_path); - -/* - * Populate and return the loose object cache array corresponding to the - * given object ID. - */ -struct oidtree *odb_loose_cache(struct object_directory *odb, - const struct object_id *oid); - -/* Empty the loose object cache for the specified object directory. */ -void odb_clear_loose_cache(struct object_directory *odb); - -/* Clear and free the specified object directory */ -void free_object_directory(struct object_directory *odb); - -struct packed_git { - struct hashmap_entry packmap_ent; - struct packed_git *next; - struct list_head mru; - struct pack_window *windows; - off_t pack_size; - const void *index_data; - size_t index_size; - uint32_t num_objects; - uint32_t crc_offset; - struct oidset bad_objects; - int index_version; - time_t mtime; - int pack_fd; - int index; /* for builtin/pack-objects.c */ - unsigned pack_local:1, - pack_keep:1, - pack_keep_in_core:1, - freshened:1, - do_not_close:1, - pack_promisor:1, - multi_pack_index:1, - is_cruft:1; - unsigned char hash[GIT_MAX_RAWSZ]; - struct revindex_entry *revindex; - const uint32_t *revindex_data; - const uint32_t *revindex_map; - size_t revindex_size; - /* - * mtimes_map points at the beginning of the memory mapped region of - * this pack's corresponding .mtimes file, and mtimes_size is the size - * of that .mtimes file - */ - const uint32_t *mtimes_map; - size_t mtimes_size; - /* something like ".git/objects/pack/xxxxx.pack" */ - char pack_name[FLEX_ARRAY]; /* more */ -}; - -struct multi_pack_index; - -static inline int pack_map_entry_cmp(const void *cmp_data UNUSED, - const struct hashmap_entry *entry, - const struct hashmap_entry *entry2, - const void *keydata) -{ - const char *key = keydata; - const struct packed_git *pg1, *pg2; - - pg1 = container_of(entry, const struct packed_git, packmap_ent); - pg2 = container_of(entry2, const struct packed_git, packmap_ent); - - return strcmp(pg1->pack_name, key ? key : pg2->pack_name); -} - -struct raw_object_store { - /* - * Set of all object directories; the main directory is first (and - * cannot be NULL after initialization). Subsequent directories are - * alternates. - */ - struct object_directory *odb; - struct object_directory **odb_tail; - struct kh_odb_path_map *odb_by_path; - - int loaded_alternates; - - /* - * A list of alternate object directories loaded from the environment; - * this should not generally need to be accessed directly, but will - * populate the "odb" list when prepare_alt_odb() is run. - */ - char *alternate_db; - - /* - * Objects that should be substituted by other objects - * (see git-replace(1)). - */ - struct oidmap *replace_map; - unsigned replace_map_initialized : 1; - pthread_mutex_t replace_mutex; /* protect object replace functions */ - - struct commit_graph *commit_graph; - unsigned commit_graph_attempted : 1; /* if loading has been attempted */ - - /* - * private data - * - * should only be accessed directly by packfile.c and midx.c - */ - struct multi_pack_index *multi_pack_index; - - /* - * private data - * - * should only be accessed directly by packfile.c - */ - - struct packed_git *packed_git; - /* A most-recently-used ordered version of the packed_git list. */ - struct list_head packed_git_mru; - - struct { - struct packed_git **packs; - unsigned flags; - } kept_pack_cache; - - /* - * A map of packfiles to packed_git structs for tracking which - * packs have been loaded already. - */ - struct hashmap pack_map; - - /* - * A fast, rough count of the number of objects in the repository. - * These two fields are not meant for direct access. Use - * repo_approximate_object_count() instead. - */ - unsigned long approximate_object_count; - unsigned approximate_object_count_valid : 1; - - /* - * Whether packed_git has already been populated with this repository's - * packs. - */ - unsigned packed_git_initialized : 1; -}; - -struct raw_object_store *raw_object_store_new(void); -void raw_object_store_clear(struct raw_object_store *o); - -/* - * Put in `buf` the name of the file in the local object database that - * would be used to store a loose object with the specified oid. - */ -const char *loose_object_path(struct repository *r, struct strbuf *buf, - const struct object_id *oid); - -void *map_loose_object(struct repository *r, const struct object_id *oid, - unsigned long *size); - -void *repo_read_object_file(struct repository *r, - const struct object_id *oid, - enum object_type *type, - unsigned long *size); - -/* Read and unpack an object file into memory, write memory to an object file */ -int oid_object_info(struct repository *r, const struct object_id *, unsigned long *); - -void hash_object_file(const struct git_hash_algo *algo, const void *buf, - unsigned long len, enum object_type type, - struct object_id *oid); - -int write_object_file_flags(const void *buf, unsigned long len, - enum object_type type, struct object_id *oid, - unsigned flags); -static inline int write_object_file(const void *buf, unsigned long len, - enum object_type type, struct object_id *oid) -{ - return write_object_file_flags(buf, len, type, oid, 0); -} - -int write_object_file_literally(const void *buf, unsigned long len, - const char *type, struct object_id *oid, - unsigned flags); -int stream_loose_object(struct input_stream *in_stream, size_t len, - struct object_id *oid); - -/* - * Add an object file to the in-memory object store, without writing it - * to disk. - * - * Callers are responsible for calling write_object_file to record the - * object in persistent storage before writing any other new objects - * that reference it. - */ -int pretend_object_file(void *, unsigned long, enum object_type, - struct object_id *oid); - -int force_object_loose(const struct object_id *oid, time_t mtime); - -struct object_info { - /* Request */ - enum object_type *typep; - unsigned long *sizep; - off_t *disk_sizep; - struct object_id *delta_base_oid; - struct strbuf *type_name; - void **contentp; - - /* Response */ - enum { - OI_CACHED, - OI_LOOSE, - OI_PACKED, - OI_DBCACHED - } whence; - union { - /* - * struct { - * ... Nothing to expose in this case - * } cached; - * struct { - * ... Nothing to expose in this case - * } loose; - */ - struct { - struct packed_git *pack; - off_t offset; - unsigned int is_delta; - } packed; - } u; -}; - -/* - * Initializer for a "struct object_info" that wants no items. You may - * also memset() the memory to all-zeroes. - */ -#define OBJECT_INFO_INIT { 0 } - -/* Invoke lookup_replace_object() on the given hash */ -#define OBJECT_INFO_LOOKUP_REPLACE 1 -/* Allow reading from a loose object file of unknown/bogus type */ -#define OBJECT_INFO_ALLOW_UNKNOWN_TYPE 2 -/* Do not retry packed storage after checking packed and loose storage */ -#define OBJECT_INFO_QUICK 8 -/* - * Do not attempt to fetch the object if missing (even if fetch_is_missing is - * nonzero). - */ -#define OBJECT_INFO_SKIP_FETCH_OBJECT 16 -/* - * This is meant for bulk prefetching of missing blobs in a partial - * clone. Implies OBJECT_INFO_SKIP_FETCH_OBJECT and OBJECT_INFO_QUICK - */ -#define OBJECT_INFO_FOR_PREFETCH (OBJECT_INFO_SKIP_FETCH_OBJECT | OBJECT_INFO_QUICK) - -/* Die if object corruption (not just an object being missing) was detected. */ -#define OBJECT_INFO_DIE_IF_CORRUPT 32 - -int oid_object_info_extended(struct repository *r, - const struct object_id *, - struct object_info *, unsigned flags); - -/* - * Open the loose object at path, check its hash, and return the contents, - * use the "oi" argument to assert things about the object, or e.g. populate its - * type, and size. If the object is a blob, then "contents" may return NULL, - * to allow streaming of large blobs. - * - * Returns 0 on success, negative on error (details may be written to stderr). - */ -int read_loose_object(const char *path, - const struct object_id *expected_oid, - struct object_id *real_oid, - void **contents, - struct object_info *oi); - -/* Retry packed storage after checking packed and loose storage */ -#define HAS_OBJECT_RECHECK_PACKED 1 - -/* - * Returns 1 if the object exists. This function will not lazily fetch objects - * in a partial clone. - */ -int has_object(struct repository *r, const struct object_id *oid, - unsigned flags); - -/* - * These macros and functions are deprecated. If checking existence for an - * object that is likely to be missing and/or whose absence is relatively - * inconsequential (or is consequential but the caller is prepared to handle - * it), use has_object(), which has better defaults (no lazy fetch in a partial - * clone and no rechecking of packed storage). In the unlikely event that a - * caller needs to assert existence of an object that it fully expects to - * exist, and wants to trigger a lazy fetch in a partial clone, use - * oid_object_info_extended() with a NULL struct object_info. - * - * These functions can be removed once all callers have migrated to - * has_object() and/or oid_object_info_extended(). - */ -int repo_has_object_file(struct repository *r, const struct object_id *oid); -int repo_has_object_file_with_flags(struct repository *r, - const struct object_id *oid, int flags); - -/* - * Return true iff an alternate object database has a loose object - * with the specified name. This function does not respect replace - * references. - */ -int has_loose_object_nonlocal(const struct object_id *); - -int has_loose_object(const struct object_id *); - -/** - * format_object_header() is a thin wrapper around s xsnprintf() that - * writes the initial " " part of the loose object - * header. It returns the size that snprintf() returns + 1. - */ -int format_object_header(char *str, size_t size, enum object_type type, - size_t objsize); - -void assert_oid_type(const struct object_id *oid, enum object_type expect); - -/* - * Enabling the object read lock allows multiple threads to safely call the - * following functions in parallel: repo_read_object_file(), - * read_object_with_reference(), oid_object_info() and oid_object_info_extended(). - * - * obj_read_lock() and obj_read_unlock() may also be used to protect other - * section which cannot execute in parallel with object reading. Since the used - * lock is a recursive mutex, these sections can even contain calls to object - * reading functions. However, beware that in these cases zlib inflation won't - * be performed in parallel, losing performance. - * - * TODO: oid_object_info_extended()'s call stack has a recursive behavior. If - * any of its callees end up calling it, this recursive call won't benefit from - * parallel inflation. - */ -void enable_obj_read_lock(void); -void disable_obj_read_lock(void); - -extern int obj_read_use_lock; -extern pthread_mutex_t obj_read_mutex; - -static inline void obj_read_lock(void) -{ - if(obj_read_use_lock) - pthread_mutex_lock(&obj_read_mutex); -} - -static inline void obj_read_unlock(void) -{ - if(obj_read_use_lock) - pthread_mutex_unlock(&obj_read_mutex); -} - -/* - * Iterate over the files in the loose-object parts of the object - * directory "path", triggering the following callbacks: - * - * - loose_object is called for each loose object we find. - * - * - loose_cruft is called for any files that do not appear to be - * loose objects. Note that we only look in the loose object - * directories "objects/[0-9a-f]{2}/", so we will not report - * "objects/foobar" as cruft. - * - * - loose_subdir is called for each top-level hashed subdirectory - * of the object directory (e.g., "$OBJDIR/f0"). It is called - * after the objects in the directory are processed. - * - * Any callback that is NULL will be ignored. Callbacks returning non-zero - * will end the iteration. - * - * In the "buf" variant, "path" is a strbuf which will also be used as a - * scratch buffer, but restored to its original contents before - * the function returns. - */ -typedef int each_loose_object_fn(const struct object_id *oid, - const char *path, - void *data); -typedef int each_loose_cruft_fn(const char *basename, - const char *path, - void *data); -typedef int each_loose_subdir_fn(unsigned int nr, - const char *path, - void *data); -int for_each_file_in_obj_subdir(unsigned int subdir_nr, - struct strbuf *path, - each_loose_object_fn obj_cb, - each_loose_cruft_fn cruft_cb, - each_loose_subdir_fn subdir_cb, - void *data); -int for_each_loose_file_in_objdir(const char *path, - each_loose_object_fn obj_cb, - each_loose_cruft_fn cruft_cb, - each_loose_subdir_fn subdir_cb, - void *data); -int for_each_loose_file_in_objdir_buf(struct strbuf *path, - each_loose_object_fn obj_cb, - each_loose_cruft_fn cruft_cb, - each_loose_subdir_fn subdir_cb, - void *data); - -/* Flags for for_each_*_object() below. */ -enum for_each_object_flags { - /* Iterate only over local objects, not alternates. */ - FOR_EACH_OBJECT_LOCAL_ONLY = (1<<0), - - /* Only iterate over packs obtained from the promisor remote. */ - FOR_EACH_OBJECT_PROMISOR_ONLY = (1<<1), - - /* - * Visit objects within a pack in packfile order rather than .idx order - */ - FOR_EACH_OBJECT_PACK_ORDER = (1<<2), - - /* Only iterate over packs that are not marked as kept in-core. */ - FOR_EACH_OBJECT_SKIP_IN_CORE_KEPT_PACKS = (1<<3), - - /* Only iterate over packs that do not have .keep files. */ - FOR_EACH_OBJECT_SKIP_ON_DISK_KEPT_PACKS = (1<<4), -}; - -/* - * Iterate over all accessible loose objects without respect to - * reachability. By default, this includes both local and alternate objects. - * The order in which objects are visited is unspecified. - * - * Any flags specific to packs are ignored. - */ -int for_each_loose_object(each_loose_object_fn, void *, - enum for_each_object_flags flags); - -/* - * Iterate over all accessible packed objects without respect to reachability. - * By default, this includes both local and alternate packs. - * - * Note that some objects may appear twice if they are found in multiple packs. - * Each pack is visited in an unspecified order. By default, objects within a - * pack are visited in pack-idx order (i.e., sorted by oid). - */ -typedef int each_packed_object_fn(const struct object_id *oid, - struct packed_git *pack, - uint32_t pos, - void *data); -int for_each_object_in_pack(struct packed_git *p, - each_packed_object_fn, void *data, - enum for_each_object_flags flags); -int for_each_packed_object(each_packed_object_fn, void *, - enum for_each_object_flags flags); - #endif /* OBJECT_STORE_H */ diff --git a/oss-fuzz/fuzz-pack-idx.c b/oss-fuzz/fuzz-pack-idx.c index 609a343ee3..3e190214d1 100644 --- a/oss-fuzz/fuzz-pack-idx.c +++ b/oss-fuzz/fuzz-pack-idx.c @@ -1,5 +1,5 @@ #include "git-compat-util.h" -#include "object-store.h" +#include "object-store-ll.h" #include "packfile.h" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c index 623ee2a819..d86f4e739a 100644 --- a/pack-bitmap-write.c +++ b/pack-bitmap-write.c @@ -3,7 +3,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" -#include "object-store.h" +#include "object-store-ll.h" #include "commit.h" #include "tag.h" #include "diff.h" diff --git a/pack-bitmap.c b/pack-bitmap.c index 999f962602..576e613837 100644 --- a/pack-bitmap.c +++ b/pack-bitmap.c @@ -17,7 +17,7 @@ #include "repository.h" #include "trace2.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "list-objects-filter-options.h" #include "midx.h" #include "config.h" diff --git a/pack-check.c b/pack-check.c index 049f2f0bfc..977f619618 100644 --- a/pack-check.c +++ b/pack-check.c @@ -7,7 +7,7 @@ #include "progress.h" #include "packfile.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" struct idx_entry { off_t offset; diff --git a/pack-mtimes.c b/pack-mtimes.c index 020a37f8fe..cdf30b8d2b 100644 --- a/pack-mtimes.c +++ b/pack-mtimes.c @@ -2,8 +2,9 @@ #include "gettext.h" #include "pack-mtimes.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "packfile.h" +#include "strbuf.h" static char *pack_mtimes_filename(struct packed_git *p) { diff --git a/pack-objects.h b/pack-objects.h index 579476687c..0d78db40cb 100644 --- a/pack-objects.h +++ b/pack-objects.h @@ -1,7 +1,7 @@ #ifndef PACK_OBJECTS_H #define PACK_OBJECTS_H -#include "object-store.h" +#include "object-store-ll.h" #include "thread-utils.h" #include "pack.h" diff --git a/pack-revindex.c b/pack-revindex.c index 1f51b712e8..7fffcad912 100644 --- a/pack-revindex.c +++ b/pack-revindex.c @@ -2,8 +2,9 @@ #include "gettext.h" #include "pack-revindex.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "packfile.h" +#include "strbuf.h" #include "trace2.h" #include "config.h" #include "midx.h" diff --git a/pack-write.c b/pack-write.c index 45681e2d7d..af48813a9b 100644 --- a/pack-write.c +++ b/pack-write.c @@ -11,6 +11,7 @@ #include "pack-objects.h" #include "pack-revindex.h" #include "path.h" +#include "strbuf.h" #include "wrapper.h" void reset_pack_idx_option(struct pack_idx_option *opts) diff --git a/packfile.c b/packfile.c index fd083c86e0..c60aeb05ec 100644 --- a/packfile.c +++ b/packfile.c @@ -19,7 +19,7 @@ #include "tree-walk.h" #include "tree.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "midx.h" #include "commit-graph.h" #include "pack-revindex.h" diff --git a/path.c b/path.c index 7c1cd8182a..c3b6618c77 100644 --- a/path.c +++ b/path.c @@ -15,7 +15,7 @@ #include "submodule-config.h" #include "path.h" #include "packfile.h" -#include "object-store.h" +#include "object-store-ll.h" #include "lockfile.h" #include "exec-cmd.h" #include "wrapper.h" diff --git a/promisor-remote.c b/promisor-remote.c index 1adcd6fb0a..db88d2064d 100644 --- a/promisor-remote.c +++ b/promisor-remote.c @@ -1,7 +1,7 @@ #include "git-compat-util.h" #include "gettext.h" #include "hex.h" -#include "object-store.h" +#include "object-store-ll.h" #include "promisor-remote.h" #include "config.h" #include "trace2.h" diff --git a/protocol-caps.c b/protocol-caps.c index a90c48852e..808a68c974 100644 --- a/protocol-caps.c +++ b/protocol-caps.c @@ -7,7 +7,7 @@ #include "hash-ll.h" #include "hex.h" #include "object.h" -#include "object-store.h" +#include "object-store-ll.h" #include "string-list.h" #include "strbuf.h" diff --git a/prune-packed.c b/prune-packed.c index 58412b4fb9..e54daf740a 100644 --- a/prune-packed.c +++ b/prune-packed.c @@ -1,7 +1,7 @@ #include "git-compat-util.h" #include "environment.h" #include "gettext.h" -#include "object-store.h" +#include "object-store-ll.h" #include "packfile.h" #include "progress.h" #include "prune-packed.h" diff --git a/reachable.c b/reachable.c index 55bb114353..434f09e9eb 100644 --- a/reachable.c +++ b/reachable.c @@ -13,7 +13,7 @@ #include "list-objects.h" #include "packfile.h" #include "worktree.h" -#include "object-store.h" +#include "object-store-ll.h" #include "pack-bitmap.h" #include "pack-mtimes.h" diff --git a/read-cache.c b/read-cache.c index 86ada403a8..b9a995e5a1 100644 --- a/read-cache.c +++ b/read-cache.c @@ -17,7 +17,7 @@ #include "refs.h" #include "dir.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "oid-array.h" #include "tree.h" #include "commit.h" diff --git a/ref-filter.c b/ref-filter.c index 4991cd4f7a..e0d03a9f8e 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -8,7 +8,7 @@ #include "refs.h" #include "wildmatch.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "oid-array.h" #include "repository.h" #include "commit.h" diff --git a/reflog.c b/reflog.c index ee1bf5d032..9ad50e7d93 100644 --- a/reflog.c +++ b/reflog.c @@ -1,6 +1,6 @@ #include "git-compat-util.h" #include "gettext.h" -#include "object-store.h" +#include "object-store-ll.h" #include "reflog.h" #include "refs.h" #include "revision.h" diff --git a/refs.c b/refs.c index 8b192e4cb4..c029f64982 100644 --- a/refs.c +++ b/refs.c @@ -17,7 +17,7 @@ #include "run-command.h" #include "hook.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "object.h" #include "path.h" #include "tag.h" diff --git a/remote.c b/remote.c index 8550056db4..6538b6037d 100644 --- a/remote.c +++ b/remote.c @@ -10,7 +10,7 @@ #include "refs.h" #include "refspec.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "commit.h" #include "diff.h" diff --git a/replace-object.c b/replace-object.c index e98825d585..ca4017635d 100644 --- a/replace-object.c +++ b/replace-object.c @@ -2,7 +2,7 @@ #include "gettext.h" #include "hex.h" #include "oidmap.h" -#include "object-store.h" +#include "object-store-ll.h" #include "replace-object.h" #include "refs.h" #include "repository.h" diff --git a/replace-object.h b/replace-object.h index 500482b02b..a964db1670 100644 --- a/replace-object.h +++ b/replace-object.h @@ -3,7 +3,7 @@ #include "oidmap.h" #include "repository.h" -#include "object-store.h" +#include "object-store-ll.h" /* * Do replace refs need to be checked this run? This variable is diff --git a/repository.c b/repository.c index 4d68537407..a7679ceeaa 100644 --- a/repository.c +++ b/repository.c @@ -6,7 +6,7 @@ #include "git-compat-util.h" #include "abspath.h" #include "repository.h" -#include "object-store.h" +#include "object-store-ll.h" #include "config.h" #include "object.h" #include "lockfile.h" diff --git a/rerere.c b/rerere.c index 3584fecb07..e2b8597f88 100644 --- a/rerere.c +++ b/rerere.c @@ -17,7 +17,7 @@ #include "path.h" #include "pathspec.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "hash-lookup.h" #include "strmap.h" #include "wrapper.h" diff --git a/revision.c b/revision.c index d4b4b34fd8..84768565ce 100644 --- a/revision.c +++ b/revision.c @@ -6,7 +6,7 @@ #include "hex.h" #include "object-name.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "tag.h" #include "blob.h" #include "tree.h" diff --git a/send-pack.c b/send-pack.c index 0c7ccaef68..9510bef856 100644 --- a/send-pack.c +++ b/send-pack.c @@ -5,7 +5,7 @@ #include "gettext.h" #include "hex.h" #include "refs.h" -#include "object-store.h" +#include "object-store-ll.h" #include "pkt-line.h" #include "sideband.h" #include "run-command.h" diff --git a/sequencer.c b/sequencer.c index 282a6cff1b..8dd5bdeb36 100644 --- a/sequencer.c +++ b/sequencer.c @@ -11,7 +11,7 @@ #include "dir.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "object.h" #include "pager.h" #include "commit.h" diff --git a/server-info.c b/server-info.c index 85d17bbb15..382e481a2b 100644 --- a/server-info.c +++ b/server-info.c @@ -11,7 +11,7 @@ #include "packfile.h" #include "path.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "server-info.h" #include "strbuf.h" #include "wrapper.h" diff --git a/shallow.c b/shallow.c index 45343e6a78..f3ef94d4c9 100644 --- a/shallow.c +++ b/shallow.c @@ -4,7 +4,7 @@ #include "repository.h" #include "tempfile.h" #include "lockfile.h" -#include "object-store.h" +#include "object-store-ll.h" #include "commit.h" #include "tag.h" #include "pkt-line.h" diff --git a/streaming.c b/streaming.c index 21e39585e8..49791ab958 100644 --- a/streaming.c +++ b/streaming.c @@ -7,7 +7,7 @@ #include "streaming.h" #include "repository.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "replace-object.h" #include "packfile.h" #include "wrapper.h" diff --git a/submodule-config.c b/submodule-config.c index 6786bcee52..515ff5bba4 100644 --- a/submodule-config.c +++ b/submodule-config.c @@ -11,7 +11,7 @@ #include "submodule.h" #include "strbuf.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "parse-options.h" #include "thread-utils.h" #include "tree-walk.h" diff --git a/submodule.c b/submodule.c index 245300596f..f0f8788d2e 100644 --- a/submodule.c +++ b/submodule.c @@ -27,7 +27,7 @@ #include "parse-options.h" #include "object-file.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "commit-reach.h" #include "read-cache-ll.h" #include "setup.h" diff --git a/t/helper/test-pack-mtimes.c b/t/helper/test-pack-mtimes.c index 0f3fbeec53..67a964ef90 100644 --- a/t/helper/test-pack-mtimes.c +++ b/t/helper/test-pack-mtimes.c @@ -1,7 +1,7 @@ #include "test-tool.h" #include "hex.h" #include "strbuf.h" -#include "object-store.h" +#include "object-store-ll.h" #include "packfile.h" #include "pack-mtimes.h" #include "setup.h" diff --git a/t/helper/test-partial-clone.c b/t/helper/test-partial-clone.c index 362bd64a4c..910a128614 100644 --- a/t/helper/test-partial-clone.c +++ b/t/helper/test-partial-clone.c @@ -1,7 +1,7 @@ #include "test-tool.h" #include "hex.h" #include "repository.h" -#include "object-store.h" +#include "object-store-ll.h" #include "setup.h" /* diff --git a/t/helper/test-read-graph.c b/t/helper/test-read-graph.c index 3ac496e27e..8c7a83f578 100644 --- a/t/helper/test-read-graph.c +++ b/t/helper/test-read-graph.c @@ -1,7 +1,7 @@ #include "test-tool.h" #include "commit-graph.h" #include "repository.h" -#include "object-store.h" +#include "object-store-ll.h" #include "bloom.h" #include "setup.h" diff --git a/t/helper/test-read-midx.c b/t/helper/test-read-midx.c index 211addaa00..e9a444ddba 100644 --- a/t/helper/test-read-midx.c +++ b/t/helper/test-read-midx.c @@ -2,7 +2,7 @@ #include "hex.h" #include "midx.h" #include "repository.h" -#include "object-store.h" +#include "object-store-ll.h" #include "pack-bitmap.h" #include "packfile.h" #include "setup.h" diff --git a/t/helper/test-ref-store.c b/t/helper/test-ref-store.c index 15fa3f880c..fb18831ec2 100644 --- a/t/helper/test-ref-store.c +++ b/t/helper/test-ref-store.c @@ -3,9 +3,10 @@ #include "refs.h" #include "setup.h" #include "worktree.h" -#include "object-store.h" +#include "object-store-ll.h" #include "path.h" #include "repository.h" +#include "strbuf.h" #include "revision.h" struct flag_definition { diff --git a/t/helper/test-repository.c b/t/helper/test-repository.c index bafd2a5bf9..4cd8a952e5 100644 --- a/t/helper/test-repository.c +++ b/t/helper/test-repository.c @@ -4,7 +4,7 @@ #include "config.h" #include "environment.h" #include "hex.h" -#include "object-store.h" +#include "object-store-ll.h" #include "object.h" #include "repository.h" #include "setup.h" diff --git a/tag.c b/tag.c index 96dbd5b2d5..c5426484b2 100644 --- a/tag.c +++ b/tag.c @@ -2,7 +2,7 @@ #include "environment.h" #include "tag.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "commit.h" #include "tree.h" #include "blob.h" diff --git a/tmp-objdir.c b/tmp-objdir.c index db1f7038da..5f9074ad1c 100644 --- a/tmp-objdir.c +++ b/tmp-objdir.c @@ -11,7 +11,7 @@ #include "strbuf.h" #include "strvec.h" #include "quote.h" -#include "object-store.h" +#include "object-store-ll.h" struct tmp_objdir { struct strbuf path; diff --git a/transport.c b/transport.c index 67afdae57c..4dc187a388 100644 --- a/transport.c +++ b/transport.c @@ -27,7 +27,7 @@ #include "transport-internal.h" #include "protocol.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "color.h" #include "bundle-uri.h" #include "wrapper.h" diff --git a/tree-walk.c b/tree-walk.c index d3c48e06df..42ed86ef58 100644 --- a/tree-walk.c +++ b/tree-walk.c @@ -5,7 +5,7 @@ #include "gettext.h" #include "hex.h" #include "object-file.h" -#include "object-store.h" +#include "object-store-ll.h" #include "trace2.h" #include "tree.h" #include "pathspec.h" diff --git a/tree.c b/tree.c index 0dd2029a8a..e118914a76 100644 --- a/tree.c +++ b/tree.c @@ -3,7 +3,7 @@ #include "hex.h" #include "tree.h" #include "object-name.h" -#include "object-store.h" +#include "object-store-ll.h" #include "blob.h" #include "commit.h" #include "tag.h" diff --git a/unpack-trees.c b/unpack-trees.c index 4b620df303..87517364dc 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -23,7 +23,7 @@ #include "symlinks.h" #include "trace2.h" #include "fsmonitor.h" -#include "object-store.h" +#include "object-store-ll.h" #include "promisor-remote.h" #include "entry.h" #include "parallel-checkout.h" diff --git a/upload-pack.c b/upload-pack.c index d3312006a3..318b650b1e 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -7,7 +7,7 @@ #include "pkt-line.h" #include "sideband.h" #include "repository.h" -#include "object-store.h" +#include "object-store-ll.h" #include "oid-array.h" #include "tag.h" #include "object.h" diff --git a/walker.c b/walker.c index 24ff7dfdc2..65002a7220 100644 --- a/walker.c +++ b/walker.c @@ -3,8 +3,9 @@ #include "hex.h" #include "walker.h" #include "repository.h" -#include "object-store.h" +#include "object-store-ll.h" #include "commit.h" +#include "strbuf.h" #include "tree.h" #include "tree-walk.h" #include "tag.h" diff --git a/xdiff-interface.c b/xdiff-interface.c index 0460e03f5e..abc7275a52 100644 --- a/xdiff-interface.c +++ b/xdiff-interface.c @@ -1,7 +1,8 @@ #include "git-compat-util.h" #include "config.h" #include "hex.h" -#include "object-store.h" +#include "object-store-ll.h" +#include "strbuf.h" #include "xdiff-interface.h" #include "xdiff/xtypes.h" #include "xdiff/xdiffi.h" -- cgit v1.2.3