From 41771fa435a44ff8be3f23753bde0309a2a65b03 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Fri, 24 Feb 2023 00:09:27 +0000 Subject: cache.h: remove dependence on hex.h; make other files include it explicitly Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- commit.c | 1 + 1 file changed, 1 insertion(+) (limited to 'commit.c') diff --git a/commit.c b/commit.c index e433c33bb0..cb683a6df5 100644 --- a/commit.c +++ b/commit.c @@ -2,6 +2,7 @@ #include "tag.h" #include "commit.h" #include "commit-graph.h" +#include "hex.h" #include "repository.h" #include "object-store.h" #include "pkt-line.h" -- cgit 1.2.3-korg From 1758712248ab134a99cf73dcb62c115d955697d8 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Fri, 24 Feb 2023 01:39:27 -0500 Subject: prio-queue: mark unused parameters in comparison functions The prio_queue_compare_fn interface has a void pointer to allow callers to pass arbitrary data, but most comparison functions don't need it. Mark those cases to make -Wunused-parameter happy. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- commit.c | 6 ++++-- negotiator/skipping.c | 2 +- t/helper/test-prio-queue.c | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) (limited to 'commit.c') diff --git a/commit.c b/commit.c index e433c33bb0..0606d16e3a 100644 --- a/commit.c +++ b/commit.c @@ -801,7 +801,8 @@ int compare_commits_by_author_date(const void *a_, const void *b_, return 0; } -int compare_commits_by_gen_then_commit_date(const void *a_, const void *b_, void *unused) +int compare_commits_by_gen_then_commit_date(const void *a_, const void *b_, + void *unused UNUSED) { const struct commit *a = a_, *b = b_; const timestamp_t generation_a = commit_graph_generation(a), @@ -821,7 +822,8 @@ int compare_commits_by_gen_then_commit_date(const void *a_, const void *b_, void return 0; } -int compare_commits_by_commit_date(const void *a_, const void *b_, void *unused) +int compare_commits_by_commit_date(const void *a_, const void *b_, + void *unused UNUSED) { const struct commit *a = a_, *b = b_; /* newer commits with larger date first */ diff --git a/negotiator/skipping.c b/negotiator/skipping.c index 0f5ac48e87..4867efc5f5 100644 --- a/negotiator/skipping.c +++ b/negotiator/skipping.c @@ -50,7 +50,7 @@ struct data { int non_common_revs; }; -static int compare(const void *a_, const void *b_, void *unused) +static int compare(const void *a_, const void *b_, void *data UNUSED) { const struct entry *a = a_; const struct entry *b = b_; diff --git a/t/helper/test-prio-queue.c b/t/helper/test-prio-queue.c index 133b5e6f4a..496c7be07d 100644 --- a/t/helper/test-prio-queue.c +++ b/t/helper/test-prio-queue.c @@ -2,7 +2,7 @@ #include "cache.h" #include "prio-queue.h" -static int intcmp(const void *va, const void *vb, void *data) +static int intcmp(const void *va, const void *vb, void *data UNUSED) { const int *a = va, *b = vb; return *a - *b; -- cgit 1.2.3-korg From f394e093df10f1867d9bb2180b3789ee61124aed Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 21 Mar 2023 06:25:54 +0000 Subject: treewide: be explicit about dependence on gettext.h Dozens of files made use of gettext functions, without explicitly including gettext.h. This made it more difficult to find which files could remove a dependence on cache.h. Make C files explicitly include gettext.h if they are using it. However, while compat/fsmonitor/fsm-ipc-darwin.c should also gain an include of gettext.h, it was left out to avoid conflicting with an in-flight topic. Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- add-interactive.c | 1 + add-patch.c | 1 + apply.c | 1 + archive-tar.c | 1 + archive-zip.c | 1 + archive.c | 1 + attr.c | 1 + bisect.c | 1 + blame.c | 1 + branch.c | 1 + builtin/add.c | 1 + builtin/am.c | 1 + builtin/apply.c | 1 + builtin/archive.c | 1 + builtin/bisect.c | 1 + builtin/blame.c | 1 + builtin/branch.c | 1 + builtin/bugreport.c | 1 + builtin/bundle.c | 1 + builtin/cat-file.c | 1 + builtin/check-attr.c | 1 + builtin/check-ignore.c | 1 + builtin/check-mailmap.c | 1 + builtin/checkout--worker.c | 1 + builtin/checkout-index.c | 1 + builtin/checkout.c | 1 + builtin/clean.c | 1 + builtin/clone.c | 1 + builtin/column.c | 1 + builtin/commit-graph.c | 1 + builtin/commit-tree.c | 1 + builtin/commit.c | 1 + builtin/config.c | 1 + builtin/count-objects.c | 1 + builtin/credential-cache--daemon.c | 1 + builtin/credential-cache.c | 1 + builtin/credential-store.c | 1 + builtin/describe.c | 1 + builtin/diagnose.c | 1 + builtin/diff-tree.c | 1 + builtin/diff.c | 1 + builtin/difftool.c | 1 + builtin/fast-export.c | 1 + builtin/fast-import.c | 1 + builtin/fetch-pack.c | 1 + builtin/fetch.c | 1 + builtin/fmt-merge-msg.c | 1 + builtin/for-each-ref.c | 1 + builtin/for-each-repo.c | 1 + builtin/fsck.c | 1 + builtin/fsmonitor--daemon.c | 1 + builtin/gc.c | 1 + builtin/grep.c | 1 + builtin/hash-object.c | 1 + builtin/help.c | 1 + builtin/hook.c | 1 + builtin/index-pack.c | 1 + builtin/init-db.c | 1 + builtin/interpret-trailers.c | 1 + builtin/log.c | 1 + builtin/ls-files.c | 1 + builtin/ls-remote.c | 1 + builtin/ls-tree.c | 1 + builtin/mailinfo.c | 1 + builtin/mailsplit.c | 1 + builtin/merge-base.c | 1 + builtin/merge-file.c | 1 + builtin/merge-recursive.c | 1 + builtin/merge-tree.c | 1 + builtin/merge.c | 1 + builtin/mktag.c | 1 + builtin/mktree.c | 1 + builtin/multi-pack-index.c | 1 + builtin/mv.c | 1 + builtin/name-rev.c | 1 + builtin/notes.c | 1 + builtin/pack-objects.c | 1 + builtin/pack-redundant.c | 1 + builtin/pack-refs.c | 1 + builtin/patch-id.c | 1 + builtin/prune-packed.c | 1 + builtin/prune.c | 1 + builtin/pull.c | 1 + builtin/push.c | 1 + builtin/range-diff.c | 1 + builtin/read-tree.c | 1 + builtin/rebase.c | 1 + builtin/receive-pack.c | 1 + builtin/reflog.c | 1 + builtin/remote.c | 1 + builtin/repack.c | 1 + builtin/replace.c | 1 + builtin/rerere.c | 1 + builtin/reset.c | 1 + builtin/rev-list.c | 1 + builtin/rev-parse.c | 1 + builtin/revert.c | 1 + builtin/rm.c | 1 + builtin/shortlog.c | 1 + builtin/show-branch.c | 1 + builtin/show-index.c | 1 + builtin/show-ref.c | 1 + builtin/sparse-checkout.c | 1 + builtin/stash.c | 1 + builtin/stripspace.c | 1 + builtin/submodule--helper.c | 1 + builtin/symbolic-ref.c | 1 + builtin/tag.c | 1 + builtin/unpack-objects.c | 1 + builtin/update-index.c | 1 + builtin/update-ref.c | 1 + builtin/update-server-info.c | 1 + builtin/upload-pack.c | 1 + builtin/verify-commit.c | 1 + builtin/verify-pack.c | 1 + builtin/verify-tag.c | 1 + builtin/worktree.c | 1 + builtin/write-tree.c | 1 + bulk-checkin.c | 1 + bundle-uri.c | 1 + bundle.c | 1 + chunk-format.c | 1 + color.c | 1 + commit-graph.c | 1 + commit.c | 1 + common-main.c | 1 + compat/disk.h | 1 + compat/fsmonitor/fsm-health-win32.c | 1 + compat/fsmonitor/fsm-listen-darwin.c | 1 + compat/fsmonitor/fsm-listen-win32.c | 1 + compat/fsmonitor/fsm-path-utils-darwin.c | 1 + compat/fsmonitor/fsm-path-utils-win32.c | 1 + compat/mingw.c | 1 + compat/precompose_utf8.c | 1 + compat/simple-ipc/ipc-unix-socket.c | 1 + compat/simple-ipc/ipc-win32.c | 1 + compat/terminal.c | 1 + config.c | 1 + connect.c | 1 + connected.c | 1 + convert.c | 1 + credential.c | 1 + date.c | 1 + delta-islands.c | 1 + diagnose.c | 1 + diff-lib.c | 1 + diff-no-index.c | 1 + diff.c | 1 + dir.c | 1 + editor.c | 1 + entry.c | 1 + environment.c | 1 + exec-cmd.c | 1 + fetch-pack.c | 1 + fsmonitor-ipc.c | 1 + git.c | 1 + gpg-interface.c | 1 + grep.c | 1 + http-fetch.c | 1 + imap-send.c | 1 + list-objects-filter-options.h | 1 + list-objects-filter.c | 1 + list-objects.c | 1 + lockfile.c | 1 + ls-refs.c | 1 + merge-ort-wrappers.c | 1 + merge-ort.c | 1 + merge-recursive.c | 1 + merge.c | 1 + midx.c | 1 + name-hash.c | 1 + notes-merge.c | 1 + notes-utils.c | 1 + object-file.c | 1 + object-name.c | 1 + object.c | 1 + pack-bitmap-write.c | 1 + pack-bitmap.c | 1 + pack-mtimes.c | 1 + pack-revindex.c | 1 + pack-write.c | 1 + packfile.c | 1 + parallel-checkout.c | 1 + parse-options-cb.c | 1 + parse-options.c | 1 + parse-options.h | 2 ++ path.c | 1 + pathspec.c | 1 + pkt-line.c | 1 + preload-index.c | 1 + pretty.c | 1 + promisor-remote.c | 1 + prune-packed.c | 1 + range-diff.c | 1 + reachable.c | 1 + read-cache.c | 1 + rebase-interactive.c | 1 + ref-filter.c | 1 + ref-filter.h | 1 + reflog.c | 1 + refs.c | 1 + refs/files-backend.c | 1 + refs/packed-backend.c | 1 + remote-curl.c | 1 + remote.c | 1 + replace-object.c | 1 + rerere.c | 1 + rerere.h | 1 + reset.c | 1 + revision.c | 1 + run-command.c | 1 + send-pack.c | 1 + sequencer.c | 1 + setup.c | 1 + sideband.c | 1 + sparse-index.c | 1 + split-index.c | 1 + strbuf.c | 1 + submodule-config.c | 1 + submodule.c | 1 + symlinks.c | 1 + t/helper/test-cache-tree.c | 1 + t/helper/test-fast-rebase.c | 1 + t/helper/test-reach.c | 1 + t/helper/test-serve-v2.c | 1 + trailer.c | 1 + transport-helper.c | 1 + tree-walk.c | 1 + unpack-trees.c | 1 + upload-pack.c | 1 + usage.c | 2 +- walker.c | 1 + worktree.c | 1 + wrapper.c | 1 + wt-status.c | 1 + 235 files changed, 236 insertions(+), 1 deletion(-) (limited to 'commit.c') diff --git a/add-interactive.c b/add-interactive.c index ae25ec50bc..b750543bd8 100644 --- a/add-interactive.c +++ b/add-interactive.c @@ -3,6 +3,7 @@ #include "color.h" #include "config.h" #include "diffcore.h" +#include "gettext.h" #include "hex.h" #include "revision.h" #include "refs.h" diff --git a/add-patch.c b/add-patch.c index e6c34b9c38..4c803a5f4d 100644 --- a/add-patch.c +++ b/add-patch.c @@ -1,6 +1,7 @@ #include "cache.h" #include "add-interactive.h" #include "alloc.h" +#include "gettext.h" #include "strbuf.h" #include "run-command.h" #include "strvec.h" diff --git a/apply.c b/apply.c index 8776ab939a..e0bdd43a68 100644 --- a/apply.c +++ b/apply.c @@ -15,6 +15,7 @@ #include "delta.h" #include "diff.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "xdiff-interface.h" #include "ll-merge.h" diff --git a/archive-tar.c b/archive-tar.c index ee27fa0b39..16ee133bbf 100644 --- a/archive-tar.c +++ b/archive-tar.c @@ -4,6 +4,7 @@ #include "git-compat-util.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "tar.h" #include "archive.h" diff --git a/archive-zip.c b/archive-zip.c index c5d1f72eb8..c02dc33e40 100644 --- a/archive-zip.c +++ b/archive-zip.c @@ -4,6 +4,7 @@ #include "cache.h" #include "config.h" #include "archive.h" +#include "gettext.h" #include "hex.h" #include "streaming.h" #include "utf8.h" diff --git a/archive.c b/archive.c index 1c2ca78e52..2c3da1cff3 100644 --- a/archive.c +++ b/archive.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "object-store.h" diff --git a/attr.c b/attr.c index 657ee52229..48e2d64618 100644 --- a/attr.c +++ b/attr.c @@ -12,6 +12,7 @@ #include "exec-cmd.h" #include "attr.h" #include "dir.h" +#include "gettext.h" #include "utf8.h" #include "quote.h" #include "revision.h" diff --git a/bisect.c b/bisect.c index 1409150c5c..5a3a8182d8 100644 --- a/bisect.c +++ b/bisect.c @@ -2,6 +2,7 @@ #include "config.h" #include "commit.h" #include "diff.h" +#include "gettext.h" #include "hex.h" #include "revision.h" #include "refs.h" diff --git a/blame.c b/blame.c index e45d8a3bf9..b7cd849bb6 100644 --- a/blame.c +++ b/blame.c @@ -5,6 +5,7 @@ #include "mergesort.h" #include "diff.h" #include "diffcore.h" +#include "gettext.h" #include "hex.h" #include "tag.h" #include "blame.h" diff --git a/branch.c b/branch.c index eacef62b7c..66d32c6856 100644 --- a/branch.c +++ b/branch.c @@ -2,6 +2,7 @@ #include "cache.h" #include "config.h" #include "branch.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "refspec.h" diff --git a/builtin/add.c b/builtin/add.c index 61dd386d10..f12054d9be 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -9,6 +9,7 @@ #include "builtin.h" #include "lockfile.h" #include "dir.h" +#include "gettext.h" #include "pathspec.h" #include "exec-cmd.h" #include "cache-tree.h" diff --git a/builtin/am.c b/builtin/am.c index 5e6b237c42..cc1fdf4f75 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -8,6 +8,7 @@ #include "config.h" #include "builtin.h" #include "exec-cmd.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" #include "dir.h" diff --git a/builtin/apply.c b/builtin/apply.c index 555219de40..fe72c0ec3e 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -1,5 +1,6 @@ #include "cache.h" #include "builtin.h" +#include "gettext.h" #include "parse-options.h" #include "apply.h" diff --git a/builtin/archive.c b/builtin/archive.c index d0a583ea95..d13934f1a8 100644 --- a/builtin/archive.c +++ b/builtin/archive.c @@ -5,6 +5,7 @@ #include "cache.h" #include "builtin.h" #include "archive.h" +#include "gettext.h" #include "transport.h" #include "parse-options.h" #include "pkt-line.h" diff --git a/builtin/bisect.c b/builtin/bisect.c index c64c8d715a..09188e554b 100644 --- a/builtin/bisect.c +++ b/builtin/bisect.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "cache.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" #include "bisect.h" diff --git a/builtin/blame.c b/builtin/blame.c index fdd9f0c0fc..21f6b523a6 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -10,6 +10,7 @@ #include "config.h" #include "color.h" #include "builtin.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "commit.h" diff --git a/builtin/branch.c b/builtin/branch.c index f63fd45edb..a67a8334d5 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -11,6 +11,7 @@ #include "refs.h" #include "commit.h" #include "builtin.h" +#include "gettext.h" #include "remote.h" #include "parse-options.h" #include "branch.h" diff --git a/builtin/bugreport.c b/builtin/bugreport.c index 5bc254be80..b61cfa9464 100644 --- a/builtin/bugreport.c +++ b/builtin/bugreport.c @@ -1,4 +1,5 @@ #include "builtin.h" +#include "gettext.h" #include "parse-options.h" #include "strbuf.h" #include "help.h" diff --git a/builtin/bundle.c b/builtin/bundle.c index 666f01bccd..de3898ffa4 100644 --- a/builtin/bundle.c +++ b/builtin/bundle.c @@ -1,4 +1,5 @@ #include "builtin.h" +#include "gettext.h" #include "strvec.h" #include "parse-options.h" #include "cache.h" diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 9e7e03ade4..9f1bf8f0e9 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -9,6 +9,7 @@ #include "config.h" #include "builtin.h" #include "diff.h" +#include "gettext.h" #include "hex.h" #include "ident.h" #include "parse-options.h" diff --git a/builtin/check-attr.c b/builtin/check-attr.c index d7a40e674c..ad27255e2c 100644 --- a/builtin/check-attr.c +++ b/builtin/check-attr.c @@ -3,6 +3,7 @@ #include "cache.h" #include "config.h" #include "attr.h" +#include "gettext.h" #include "quote.h" #include "parse-options.h" diff --git a/builtin/check-ignore.c b/builtin/check-ignore.c index ab776061c7..a45d001e35 100644 --- a/builtin/check-ignore.c +++ b/builtin/check-ignore.c @@ -3,6 +3,7 @@ #include "cache.h" #include "config.h" #include "dir.h" +#include "gettext.h" #include "quote.h" #include "pathspec.h" #include "parse-options.h" diff --git a/builtin/check-mailmap.c b/builtin/check-mailmap.c index 96db3ddb4b..fa86fd9423 100644 --- a/builtin/check-mailmap.c +++ b/builtin/check-mailmap.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "config.h" +#include "gettext.h" #include "ident.h" #include "mailmap.h" #include "parse-options.h" diff --git a/builtin/checkout--worker.c b/builtin/checkout--worker.c index 0a7d762573..2120dd1d30 100644 --- a/builtin/checkout--worker.c +++ b/builtin/checkout--worker.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "config.h" #include "entry.h" +#include "gettext.h" #include "parallel-checkout.h" #include "parse-options.h" #include "pkt-line.h" diff --git a/builtin/checkout-index.c b/builtin/checkout-index.c index cf6fba97ba..828c0363f8 100644 --- a/builtin/checkout-index.c +++ b/builtin/checkout-index.c @@ -8,6 +8,7 @@ #include "builtin.h" #include "config.h" #include "dir.h" +#include "gettext.h" #include "lockfile.h" #include "quote.h" #include "cache-tree.h" diff --git a/builtin/checkout.c b/builtin/checkout.c index 734d730980..47d4c369a1 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -9,6 +9,7 @@ #include "config.h" #include "diff.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "hook.h" #include "ll-merge.h" diff --git a/builtin/clean.c b/builtin/clean.c index 10aaa8c603..46c51029ab 100644 --- a/builtin/clean.c +++ b/builtin/clean.c @@ -11,6 +11,7 @@ #include "cache.h" #include "config.h" #include "dir.h" +#include "gettext.h" #include "parse-options.h" #include "string-list.h" #include "quote.h" diff --git a/builtin/clone.c b/builtin/clone.c index 462c286274..d605fcafa0 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -11,6 +11,7 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "parse-options.h" diff --git a/builtin/column.c b/builtin/column.c index 158fdf53d9..de623a16c2 100644 --- a/builtin/column.c +++ b/builtin/column.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "cache.h" #include "config.h" +#include "gettext.h" #include "strbuf.h" #include "parse-options.h" #include "string-list.h" diff --git a/builtin/commit-graph.c b/builtin/commit-graph.c index d3be7f3b31..311e010681 100644 --- a/builtin/commit-graph.c +++ b/builtin/commit-graph.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "config.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "parse-options.h" diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c index e805da5bb1..0ef55d83d4 100644 --- a/builtin/commit-tree.c +++ b/builtin/commit-tree.c @@ -5,6 +5,7 @@ */ #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "object-store.h" #include "repository.h" diff --git a/builtin/commit.c b/builtin/commit.c index f71ed41bf5..25575435ad 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -16,6 +16,7 @@ #include "diff.h" #include "diffcore.h" #include "commit.h" +#include "gettext.h" #include "revision.h" #include "wt-status.h" #include "run-command.h" diff --git a/builtin/config.c b/builtin/config.c index 49d832d409..33b17b40b4 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "config.h" #include "color.h" +#include "gettext.h" #include "ident.h" #include "parse-options.h" #include "urlmatch.h" diff --git a/builtin/count-objects.c b/builtin/count-objects.c index bb21bc43e4..48edc86c24 100644 --- a/builtin/count-objects.c +++ b/builtin/count-objects.c @@ -7,6 +7,7 @@ #include "cache.h" #include "config.h" #include "dir.h" +#include "gettext.h" #include "repository.h" #include "builtin.h" #include "parse-options.h" diff --git a/builtin/credential-cache--daemon.c b/builtin/credential-cache--daemon.c index 6e509d02c3..0f00ba4d74 100644 --- a/builtin/credential-cache--daemon.c +++ b/builtin/credential-cache--daemon.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "alloc.h" +#include "gettext.h" #include "parse-options.h" #ifndef NO_UNIX_SOCKETS diff --git a/builtin/credential-cache.c b/builtin/credential-cache.c index 78c02ad531..25f2f71c21 100644 --- a/builtin/credential-cache.c +++ b/builtin/credential-cache.c @@ -1,4 +1,5 @@ #include "builtin.h" +#include "gettext.h" #include "parse-options.h" #ifndef NO_UNIX_SOCKETS diff --git a/builtin/credential-store.c b/builtin/credential-store.c index 62a4f3c265..da32cfd89e 100644 --- a/builtin/credential-store.c +++ b/builtin/credential-store.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "config.h" +#include "gettext.h" #include "lockfile.h" #include "credential.h" #include "string-list.h" diff --git a/builtin/describe.c b/builtin/describe.c index 5b5930f5c8..fcacdf8a69 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -1,6 +1,7 @@ #define USE_THE_INDEX_VARIABLE #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "commit.h" diff --git a/builtin/diagnose.c b/builtin/diagnose.c index d52015c67a..5b12d1fb96 100644 --- a/builtin/diagnose.c +++ b/builtin/diagnose.c @@ -1,4 +1,5 @@ #include "builtin.h" +#include "gettext.h" #include "parse-options.h" #include "diagnose.h" diff --git a/builtin/diff-tree.c b/builtin/diff-tree.c index a393efa4f0..385c2d0230 100644 --- a/builtin/diff-tree.c +++ b/builtin/diff-tree.c @@ -3,6 +3,7 @@ #include "config.h" #include "diff.h" #include "commit.h" +#include "gettext.h" #include "hex.h" #include "log-tree.h" #include "builtin.h" diff --git a/builtin/diff.c b/builtin/diff.c index 26f1e532c6..20bdb6e6ce 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -11,6 +11,7 @@ #include "color.h" #include "commit.h" #include "blob.h" +#include "gettext.h" #include "tag.h" #include "diff.h" #include "diff-merges.h" diff --git a/builtin/difftool.c b/builtin/difftool.c index 01681d0fb8..f7380dd1cc 100644 --- a/builtin/difftool.c +++ b/builtin/difftool.c @@ -17,6 +17,7 @@ #include "builtin.h" #include "run-command.h" #include "exec-cmd.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" #include "strvec.h" diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 78493c6d2b..9ab2e34ef0 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -6,6 +6,7 @@ #include "builtin.h" #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "refspec.h" diff --git a/builtin/fast-import.c b/builtin/fast-import.c index f7548ff4a3..f3635c7aef 100644 --- a/builtin/fast-import.c +++ b/builtin/fast-import.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "cache.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "config.h" diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c index 702c9a3397..60e5a10ffc 100644 --- a/builtin/fetch-pack.c +++ b/builtin/fetch-pack.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "alloc.h" +#include "gettext.h" #include "hex.h" #include "pkt-line.h" #include "fetch-pack.h" diff --git a/builtin/fetch.c b/builtin/fetch.c index 7221e57f35..990f81f6d1 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -3,6 +3,7 @@ */ #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "refs.h" diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c index 8d8fd393f8..0f9855b680 100644 --- a/builtin/fmt-merge-msg.c +++ b/builtin/fmt-merge-msg.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "config.h" #include "fmt-merge-msg.h" +#include "gettext.h" #include "parse-options.h" static const char * const fmt_merge_msg_usage[] = { diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c index 6f62f40d12..7a8ff5902c 100644 --- a/builtin/for-each-ref.c +++ b/builtin/for-each-ref.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "cache.h" #include "config.h" +#include "gettext.h" #include "refs.h" #include "object.h" #include "parse-options.h" diff --git a/builtin/for-each-repo.c b/builtin/for-each-repo.c index 6aeac37148..27425c2fc9 100644 --- a/builtin/for-each-repo.c +++ b/builtin/for-each-repo.c @@ -1,6 +1,7 @@ #include "cache.h" #include "config.h" #include "builtin.h" +#include "gettext.h" #include "parse-options.h" #include "run-command.h" #include "string-list.h" diff --git a/builtin/fsck.c b/builtin/fsck.c index c4a633c032..1375e32d2a 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "cache.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "config.h" diff --git a/builtin/fsmonitor--daemon.c b/builtin/fsmonitor--daemon.c index cae804a190..215e3813d7 100644 --- a/builtin/fsmonitor--daemon.c +++ b/builtin/fsmonitor--daemon.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "parse-options.h" #include "fsmonitor.h" #include "fsmonitor-ipc.h" diff --git a/builtin/gc.c b/builtin/gc.c index c58fe8c936..32cabad7cf 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -32,6 +32,7 @@ #include "refs.h" #include "remote.h" #include "exec-cmd.h" +#include "gettext.h" #include "hook.h" #define FAILED_RUN "failed to run %s" diff --git a/builtin/grep.c b/builtin/grep.c index c590fcb19d..3c9c6b3803 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -5,6 +5,7 @@ */ #include "cache.h" #include "alloc.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "config.h" diff --git a/builtin/hash-object.c b/builtin/hash-object.c index 1848768b97..f233eda759 100644 --- a/builtin/hash-object.c +++ b/builtin/hash-object.c @@ -6,6 +6,7 @@ */ #include "builtin.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "object-store.h" #include "blob.h" diff --git a/builtin/help.c b/builtin/help.c index 53f2812dfb..3fde5c4fd3 100644 --- a/builtin/help.c +++ b/builtin/help.c @@ -5,6 +5,7 @@ #include "config.h" #include "builtin.h" #include "exec-cmd.h" +#include "gettext.h" #include "parse-options.h" #include "run-command.h" #include "config-list.h" diff --git a/builtin/hook.c b/builtin/hook.c index f95b7965c5..88051795c7 100644 --- a/builtin/hook.c +++ b/builtin/hook.c @@ -1,6 +1,7 @@ #include "cache.h" #include "builtin.h" #include "config.h" +#include "gettext.h" #include "hook.h" #include "parse-options.h" #include "strbuf.h" diff --git a/builtin/index-pack.c b/builtin/index-pack.c index b451755f40..bae5b05403 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "config.h" #include "delta.h" +#include "gettext.h" #include "hex.h" #include "pack.h" #include "csum-file.h" diff --git a/builtin/init-db.c b/builtin/init-db.c index dcaaf102ea..e182bc7e83 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c @@ -5,6 +5,7 @@ */ #include "cache.h" #include "config.h" +#include "gettext.h" #include "refs.h" #include "builtin.h" #include "exec-cmd.h" diff --git a/builtin/interpret-trailers.c b/builtin/interpret-trailers.c index e58627c72a..107ac28f0e 100644 --- a/builtin/interpret-trailers.c +++ b/builtin/interpret-trailers.c @@ -7,6 +7,7 @@ #include "cache.h" #include "builtin.h" +#include "gettext.h" #include "parse-options.h" #include "string-list.h" #include "trailer.h" diff --git a/builtin/log.c b/builtin/log.c index bc204ea76f..e702cf126e 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -7,6 +7,7 @@ #include "git-compat-util.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "object-store.h" diff --git a/builtin/ls-files.c b/builtin/ls-files.c index a03b559eca..09deb752ab 100644 --- a/builtin/ls-files.c +++ b/builtin/ls-files.c @@ -11,6 +11,7 @@ #include "quote.h" #include "dir.h" #include "builtin.h" +#include "gettext.h" #include "strbuf.h" #include "tree.h" #include "cache-tree.h" diff --git a/builtin/ls-remote.c b/builtin/ls-remote.c index 2dfbd8ed9b..11d9424804 100644 --- a/builtin/ls-remote.c +++ b/builtin/ls-remote.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "cache.h" +#include "gettext.h" #include "hex.h" #include "transport.h" #include "ref-filter.h" diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c index 64d8e54318..b4835f1d4c 100644 --- a/builtin/ls-tree.c +++ b/builtin/ls-tree.c @@ -5,6 +5,7 @@ */ #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "object-store.h" #include "blob.h" diff --git a/builtin/mailinfo.c b/builtin/mailinfo.c index 01d16ef9e5..e8bb011cfb 100644 --- a/builtin/mailinfo.c +++ b/builtin/mailinfo.c @@ -4,6 +4,7 @@ */ #include "cache.h" #include "builtin.h" +#include "gettext.h" #include "utf8.h" #include "strbuf.h" #include "mailinfo.h" diff --git a/builtin/mailsplit.c b/builtin/mailsplit.c index 73509f651b..b08069ce60 100644 --- a/builtin/mailsplit.c +++ b/builtin/mailsplit.c @@ -6,6 +6,7 @@ */ #include "cache.h" #include "builtin.h" +#include "gettext.h" #include "string-list.h" #include "strbuf.h" diff --git a/builtin/merge-base.c b/builtin/merge-base.c index be8f3b221c..e0995f3219 100644 --- a/builtin/merge-base.c +++ b/builtin/merge-base.c @@ -2,6 +2,7 @@ #include "cache.h" #include "config.h" #include "commit.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "diff.h" diff --git a/builtin/merge-file.c b/builtin/merge-file.c index c923bbf2ab..ae45f523b9 100644 --- a/builtin/merge-file.c +++ b/builtin/merge-file.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "cache.h" #include "config.h" +#include "gettext.h" #include "xdiff/xdiff.h" #include "xdiff-interface.h" #include "parse-options.h" diff --git a/builtin/merge-recursive.c b/builtin/merge-recursive.c index b9acbf5d34..a49fab9bcb 100644 --- a/builtin/merge-recursive.c +++ b/builtin/merge-recursive.c @@ -1,6 +1,7 @@ #include "cache.h" #include "builtin.h" #include "commit.h" +#include "gettext.h" #include "tag.h" #include "merge-recursive.h" #include "xdiff-interface.h" diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index e782518164..89b807388a 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -3,6 +3,7 @@ #include "tree-walk.h" #include "xdiff-interface.h" #include "help.h" +#include "gettext.h" #include "hex.h" #include "commit.h" #include "commit-reach.h" diff --git a/builtin/merge.c b/builtin/merge.c index 19c31d4ff4..a90ae5d2dd 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -10,6 +10,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" #include "builtin.h" diff --git a/builtin/mktag.c b/builtin/mktag.c index 42c2457c70..e93aee7225 100644 --- a/builtin/mktag.c +++ b/builtin/mktag.c @@ -1,4 +1,5 @@ #include "builtin.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" #include "tag.h" diff --git a/builtin/mktree.c b/builtin/mktree.c index 848c7b4747..09a7bd5c5c 100644 --- a/builtin/mktree.c +++ b/builtin/mktree.c @@ -5,6 +5,7 @@ */ #include "builtin.h" #include "alloc.h" +#include "gettext.h" #include "hex.h" #include "quote.h" #include "tree.h" diff --git a/builtin/multi-pack-index.c b/builtin/multi-pack-index.c index 9a18a82b05..e6757a4447 100644 --- a/builtin/multi-pack-index.c +++ b/builtin/multi-pack-index.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "cache.h" #include "config.h" +#include "gettext.h" #include "parse-options.h" #include "midx.h" #include "trace2.h" diff --git a/builtin/mv.c b/builtin/mv.c index 8129050377..c02dddb72b 100644 --- a/builtin/mv.c +++ b/builtin/mv.c @@ -7,6 +7,7 @@ #include "builtin.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "pathspec.h" #include "lockfile.h" #include "dir.h" diff --git a/builtin/name-rev.c b/builtin/name-rev.c index 723ba616a8..6977a5f580 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "alloc.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "config.h" diff --git a/builtin/notes.c b/builtin/notes.c index 75ce7f3f57..8e9be33ddb 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -10,6 +10,7 @@ #include "cache.h" #include "config.h" #include "builtin.h" +#include "gettext.h" #include "hex.h" #include "notes.h" #include "object-store.h" diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 545b8bddc8..1ca800c7c5 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "alloc.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "config.h" diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c index 82115c5808..3451971b56 100644 --- a/builtin/pack-redundant.c +++ b/builtin/pack-redundant.c @@ -7,6 +7,7 @@ */ #include "builtin.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "packfile.h" diff --git a/builtin/pack-refs.c b/builtin/pack-refs.c index 27c2ca06ac..9833815fb3 100644 --- a/builtin/pack-refs.c +++ b/builtin/pack-refs.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "config.h" +#include "gettext.h" #include "parse-options.h" #include "refs.h" #include "repository.h" diff --git a/builtin/patch-id.c b/builtin/patch-id.c index 338b15cd7b..9d5585d3a7 100644 --- a/builtin/patch-id.c +++ b/builtin/patch-id.c @@ -2,6 +2,7 @@ #include "builtin.h" #include "config.h" #include "diff.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" diff --git a/builtin/prune-packed.c b/builtin/prune-packed.c index da3273a268..ca3578e158 100644 --- a/builtin/prune-packed.c +++ b/builtin/prune-packed.c @@ -1,4 +1,5 @@ #include "builtin.h" +#include "gettext.h" #include "parse-options.h" #include "prune-packed.h" diff --git a/builtin/prune.c b/builtin/prune.c index 119a253a2a..ff62a0adb8 100644 --- a/builtin/prune.c +++ b/builtin/prune.c @@ -1,6 +1,7 @@ #include "cache.h" #include "commit.h" #include "diff.h" +#include "gettext.h" #include "hex.h" #include "revision.h" #include "builtin.h" diff --git a/builtin/pull.c b/builtin/pull.c index 56f679d94a..1a1a89af05 100644 --- a/builtin/pull.c +++ b/builtin/pull.c @@ -9,6 +9,7 @@ #include "cache.h" #include "config.h" #include "builtin.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" #include "exec-cmd.h" diff --git a/builtin/push.c b/builtin/push.c index 12a402aea3..2d76fa6837 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -4,6 +4,7 @@ #include "cache.h" #include "branch.h" #include "config.h" +#include "gettext.h" #include "refs.h" #include "refspec.h" #include "run-command.h" diff --git a/builtin/range-diff.c b/builtin/range-diff.c index aecfae12d3..97724fd0ed 100644 --- a/builtin/range-diff.c +++ b/builtin/range-diff.c @@ -1,5 +1,6 @@ #include "cache.h" #include "builtin.h" +#include "gettext.h" #include "parse-options.h" #include "range-diff.h" #include "config.h" diff --git a/builtin/read-tree.c b/builtin/read-tree.c index 11759c415f..ec66008d07 100644 --- a/builtin/read-tree.c +++ b/builtin/read-tree.c @@ -7,6 +7,7 @@ #define USE_THE_INDEX_VARIABLE #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "object.h" diff --git a/builtin/rebase.c b/builtin/rebase.c index dd31d5ab91..a2c68b8ff7 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -6,6 +6,7 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" +#include "gettext.h" #include "hex.h" #include "run-command.h" #include "exec-cmd.h" diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 6a24ab4f45..006565f851 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "repository.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "pack.h" diff --git a/builtin/reflog.c b/builtin/reflog.c index 270681dcdf..0879d4d224 100644 --- a/builtin/reflog.c +++ b/builtin/reflog.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "config.h" +#include "gettext.h" #include "revision.h" #include "reachable.h" #include "worktree.h" diff --git a/builtin/remote.c b/builtin/remote.c index 729f6f3643..2074d6be28 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "config.h" +#include "gettext.h" #include "parse-options.h" #include "transport.h" #include "remote.h" diff --git a/builtin/repack.c b/builtin/repack.c index 87f73c8923..771ca01527 100644 --- a/builtin/repack.c +++ b/builtin/repack.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "config.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" #include "run-command.h" diff --git a/builtin/replace.c b/builtin/replace.c index 71d8e949e3..cf85e590d9 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -11,6 +11,7 @@ #include "cache.h" #include "config.h" #include "builtin.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "parse-options.h" diff --git a/builtin/rerere.c b/builtin/rerere.c index 94ffb8c21a..24c7875572 100644 --- a/builtin/rerere.c +++ b/builtin/rerere.c @@ -2,6 +2,7 @@ #include "cache.h" #include "config.h" #include "dir.h" +#include "gettext.h" #include "parse-options.h" #include "string-list.h" #include "rerere.h" diff --git a/builtin/reset.c b/builtin/reset.c index 24b04aeecb..4335c1a6e1 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -10,6 +10,7 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "tag.h" diff --git a/builtin/rev-list.c b/builtin/rev-list.c index 85e522dff8..f2f6a0d3e6 100644 --- a/builtin/rev-list.c +++ b/builtin/rev-list.c @@ -2,6 +2,7 @@ #include "config.h" #include "commit.h" #include "diff.h" +#include "gettext.h" #include "hex.h" #include "revision.h" #include "list-objects.h" diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index e1fa9c6348..5a932a861b 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -8,6 +8,7 @@ #include "alloc.h" #include "config.h" #include "commit.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "quote.h" diff --git a/builtin/revert.c b/builtin/revert.c index 62986a7b1b..dd6587a99d 100644 --- a/builtin/revert.c +++ b/builtin/revert.c @@ -4,6 +4,7 @@ #include "builtin.h" #include "parse-options.h" #include "diff.h" +#include "gettext.h" #include "revision.h" #include "rerere.h" #include "dir.h" diff --git a/builtin/rm.c b/builtin/rm.c index dc198f7908..5982c3d812 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -11,6 +11,7 @@ #include "lockfile.h" #include "dir.h" #include "cache-tree.h" +#include "gettext.h" #include "tree-walk.h" #include "parse-options.h" #include "string-list.h" diff --git a/builtin/shortlog.c b/builtin/shortlog.c index 27a87167e1..d8c4379ea1 100644 --- a/builtin/shortlog.c +++ b/builtin/shortlog.c @@ -3,6 +3,7 @@ #include "config.h" #include "commit.h" #include "diff.h" +#include "gettext.h" #include "string-list.h" #include "revision.h" #include "utf8.h" diff --git a/builtin/show-branch.c b/builtin/show-branch.c index 8342b68aef..8d56962972 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -1,5 +1,6 @@ #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "pretty.h" #include "refs.h" diff --git a/builtin/show-index.c b/builtin/show-index.c index 98ec40ddf4..d4bbbbcd6c 100644 --- a/builtin/show-index.c +++ b/builtin/show-index.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "cache.h" +#include "gettext.h" #include "hex.h" #include "pack.h" #include "parse-options.h" diff --git a/builtin/show-ref.c b/builtin/show-ref.c index 1f28d7fe4b..a5df7587d5 100644 --- a/builtin/show-ref.c +++ b/builtin/show-ref.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "object-store.h" diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c index 8d5ae6f2a6..3976d8e86b 100644 --- a/builtin/sparse-checkout.c +++ b/builtin/sparse-checkout.c @@ -2,6 +2,7 @@ #include "cache.h" #include "config.h" #include "dir.h" +#include "gettext.h" #include "parse-options.h" #include "pathspec.h" #include "repository.h" diff --git a/builtin/stash.c b/builtin/stash.c index 6a12fed271..65817d0b76 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -1,6 +1,7 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" #include "refs.h" diff --git a/builtin/stripspace.c b/builtin/stripspace.c index 1e34cf2beb..d8e6145933 100644 --- a/builtin/stripspace.c +++ b/builtin/stripspace.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "cache.h" #include "config.h" +#include "gettext.h" #include "parse-options.h" #include "strbuf.h" diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index d05d1a8462..a4bdd44daa 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -1,6 +1,7 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" #include "alloc.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "cache.h" diff --git a/builtin/symbolic-ref.c b/builtin/symbolic-ref.c index e00768a8b7..10198a74fa 100644 --- a/builtin/symbolic-ref.c +++ b/builtin/symbolic-ref.c @@ -1,6 +1,7 @@ #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 adcaa547b0..c2ea89c475 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -9,6 +9,7 @@ #include "cache.h" #include "config.h" #include "builtin.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "object-store.h" diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c index 1908dcfcff..f7c4b53107 100644 --- a/builtin/unpack-objects.c +++ b/builtin/unpack-objects.c @@ -2,6 +2,7 @@ #include "cache.h" #include "bulk-checkin.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "object-store.h" #include "object.h" diff --git a/builtin/update-index.c b/builtin/update-index.c index 11dc135271..ef78b2d28e 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -7,6 +7,7 @@ #include "cache.h" #include "bulk-checkin.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "quote.h" diff --git a/builtin/update-ref.c b/builtin/update-ref.c index a84e7b47a2..fdf51495b5 100644 --- a/builtin/update-ref.c +++ b/builtin/update-ref.c @@ -1,5 +1,6 @@ #include "cache.h" #include "config.h" +#include "gettext.h" #include "refs.h" #include "builtin.h" #include "parse-options.h" diff --git a/builtin/update-server-info.c b/builtin/update-server-info.c index d2239c9ef4..e7bff27ae4 100644 --- a/builtin/update-server-info.c +++ b/builtin/update-server-info.c @@ -1,6 +1,7 @@ #include "cache.h" #include "config.h" #include "builtin.h" +#include "gettext.h" #include "parse-options.h" static const char * const update_server_info_usage[] = { diff --git a/builtin/upload-pack.c b/builtin/upload-pack.c index 7a3c68720f..beb9dd0861 100644 --- a/builtin/upload-pack.c +++ b/builtin/upload-pack.c @@ -1,6 +1,7 @@ #include "cache.h" #include "builtin.h" #include "exec-cmd.h" +#include "gettext.h" #include "pkt-line.h" #include "parse-options.h" #include "protocol.h" diff --git a/builtin/verify-commit.c b/builtin/verify-commit.c index 7aedf10e85..22e5afc069 100644 --- a/builtin/verify-commit.c +++ b/builtin/verify-commit.c @@ -8,6 +8,7 @@ #include "cache.h" #include "config.h" #include "builtin.h" +#include "gettext.h" #include "object-store.h" #include "repository.h" #include "commit.h" diff --git a/builtin/verify-pack.c b/builtin/verify-pack.c index 27d6f75fd8..190fd69540 100644 --- a/builtin/verify-pack.c +++ b/builtin/verify-pack.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "cache.h" #include "config.h" +#include "gettext.h" #include "run-command.h" #include "parse-options.h" diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c index 5c00b0b0f7..850e1a11c7 100644 --- a/builtin/verify-tag.c +++ b/builtin/verify-tag.c @@ -8,6 +8,7 @@ #include "cache.h" #include "config.h" #include "builtin.h" +#include "gettext.h" #include "tag.h" #include "run-command.h" #include "parse-options.h" diff --git a/builtin/worktree.c b/builtin/worktree.c index 80d05e246d..ed89b7e972 100644 --- a/builtin/worktree.c +++ b/builtin/worktree.c @@ -3,6 +3,7 @@ #include "config.h" #include "builtin.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" #include "strvec.h" diff --git a/builtin/write-tree.c b/builtin/write-tree.c index 7ad0d05945..7eec4e3cbd 100644 --- a/builtin/write-tree.c +++ b/builtin/write-tree.c @@ -7,6 +7,7 @@ #include "builtin.h" #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "tree.h" #include "cache-tree.h" diff --git a/bulk-checkin.c b/bulk-checkin.c index d64cd5c52d..778ca1e0f4 100644 --- a/bulk-checkin.c +++ b/bulk-checkin.c @@ -4,6 +4,7 @@ #include "git-compat-util.h" #include "alloc.h" #include "bulk-checkin.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "repository.h" diff --git a/bundle-uri.c b/bundle-uri.c index 177c181040..2cc7d159bd 100644 --- a/bundle-uri.c +++ b/bundle-uri.c @@ -1,6 +1,7 @@ #include "cache.h" #include "bundle-uri.h" #include "bundle.h" +#include "gettext.h" #include "object-store.h" #include "refs.h" #include "run-command.h" diff --git a/bundle.c b/bundle.c index 99d7de97f6..f5b3643b17 100644 --- a/bundle.c +++ b/bundle.c @@ -1,6 +1,7 @@ #include "cache.h" #include "lockfile.h" #include "bundle.h" +#include "gettext.h" #include "hex.h" #include "object-store.h" #include "repository.h" diff --git a/chunk-format.c b/chunk-format.c index f65e9a1e42..6d1071729d 100644 --- a/chunk-format.c +++ b/chunk-format.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "chunk-format.h" #include "csum-file.h" +#include "gettext.h" /* * When writing a chunk-based file format, collect the chunks in diff --git a/color.c b/color.c index 6b577ce0a7..672dcbb73a 100644 --- a/color.c +++ b/color.c @@ -1,6 +1,7 @@ #include "cache.h" #include "config.h" #include "color.h" +#include "gettext.h" #include "hex.h" static int git_use_color_default = GIT_COLOR_AUTO; diff --git a/commit-graph.c b/commit-graph.c index 5e6098ff35..8f21a0a0c2 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -1,5 +1,6 @@ #include "git-compat-util.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "pack.h" diff --git a/commit.c b/commit.c index 7b63d3b0e1..3fdfb32511 100644 --- a/commit.c +++ b/commit.c @@ -2,6 +2,7 @@ #include "tag.h" #include "commit.h" #include "commit-graph.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "object-store.h" diff --git a/common-main.c b/common-main.c index 0a22861f1c..184d1534d2 100644 --- a/common-main.c +++ b/common-main.c @@ -1,5 +1,6 @@ #include "cache.h" #include "exec-cmd.h" +#include "gettext.h" #include "attr.h" /* diff --git a/compat/disk.h b/compat/disk.h index 50a32e3d8a..a04a8d294a 100644 --- a/compat/disk.h +++ b/compat/disk.h @@ -2,6 +2,7 @@ #define COMPAT_DISK_H #include "git-compat-util.h" +#include "gettext.h" static int get_disk_info(struct strbuf *out) { diff --git a/compat/fsmonitor/fsm-health-win32.c b/compat/fsmonitor/fsm-health-win32.c index 2ea08c1d4e..fe11bdd9ce 100644 --- a/compat/fsmonitor/fsm-health-win32.c +++ b/compat/fsmonitor/fsm-health-win32.c @@ -3,6 +3,7 @@ #include "fsmonitor.h" #include "fsm-health.h" #include "fsmonitor--daemon.h" +#include "gettext.h" /* * Every minute wake up and test our health. diff --git a/compat/fsmonitor/fsm-listen-darwin.c b/compat/fsmonitor/fsm-listen-darwin.c index 97a55a6f0a..5eb6402ab8 100644 --- a/compat/fsmonitor/fsm-listen-darwin.c +++ b/compat/fsmonitor/fsm-listen-darwin.c @@ -28,6 +28,7 @@ #include "fsm-listen.h" #include "fsmonitor--daemon.h" #include "fsmonitor-path-utils.h" +#include "gettext.h" struct fsm_listen_data { diff --git a/compat/fsmonitor/fsm-listen-win32.c b/compat/fsmonitor/fsm-listen-win32.c index 03df8d951b..7b07b74ba5 100644 --- a/compat/fsmonitor/fsm-listen-win32.c +++ b/compat/fsmonitor/fsm-listen-win32.c @@ -3,6 +3,7 @@ #include "fsmonitor.h" #include "fsm-listen.h" #include "fsmonitor--daemon.h" +#include "gettext.h" /* * The documentation of ReadDirectoryChangesW() states that the maximum diff --git a/compat/fsmonitor/fsm-path-utils-darwin.c b/compat/fsmonitor/fsm-path-utils-darwin.c index ce5a8febe0..45eb4a9b9e 100644 --- a/compat/fsmonitor/fsm-path-utils-darwin.c +++ b/compat/fsmonitor/fsm-path-utils-darwin.c @@ -1,5 +1,6 @@ #include "fsmonitor.h" #include "fsmonitor-path-utils.h" +#include "gettext.h" #include #include #include diff --git a/compat/fsmonitor/fsm-path-utils-win32.c b/compat/fsmonitor/fsm-path-utils-win32.c index 0d95bbb416..4024baafb9 100644 --- a/compat/fsmonitor/fsm-path-utils-win32.c +++ b/compat/fsmonitor/fsm-path-utils-win32.c @@ -1,6 +1,7 @@ #include "cache.h" #include "fsmonitor.h" #include "fsmonitor-path-utils.h" +#include "gettext.h" /* * Check remote working directory protocol. diff --git a/compat/mingw.c b/compat/mingw.c index 3afbde7894..a9e5570288 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -11,6 +11,7 @@ #include "win32/lazyload.h" #include "../config.h" #include "dir.h" +#include "gettext.h" #define SECURITY_WIN32 #include diff --git a/compat/precompose_utf8.c b/compat/precompose_utf8.c index cce1d57a46..56d36cdf22 100644 --- a/compat/precompose_utf8.c +++ b/compat/precompose_utf8.c @@ -7,6 +7,7 @@ #include "cache.h" #include "config.h" +#include "gettext.h" #include "utf8.h" #include "precompose_utf8.h" diff --git a/compat/simple-ipc/ipc-unix-socket.c b/compat/simple-ipc/ipc-unix-socket.c index 28a79289d4..152db60a31 100644 --- a/compat/simple-ipc/ipc-unix-socket.c +++ b/compat/simple-ipc/ipc-unix-socket.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "simple-ipc.h" #include "strbuf.h" #include "pkt-line.h" diff --git a/compat/simple-ipc/ipc-win32.c b/compat/simple-ipc/ipc-win32.c index 20ea7b65e0..f011e5cead 100644 --- a/compat/simple-ipc/ipc-win32.c +++ b/compat/simple-ipc/ipc-win32.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "simple-ipc.h" #include "strbuf.h" #include "pkt-line.h" diff --git a/compat/terminal.c b/compat/terminal.c index ea490a7ced..afebe6b249 100644 --- a/compat/terminal.c +++ b/compat/terminal.c @@ -1,5 +1,6 @@ #include "cache.h" #include "compat/terminal.h" +#include "gettext.h" #include "sigchain.h" #include "strbuf.h" #include "run-command.h" diff --git a/config.c b/config.c index 983c45fc37..f30a6d8e68 100644 --- a/config.c +++ b/config.c @@ -11,6 +11,7 @@ #include "branch.h" #include "config.h" #include "environment.h" +#include "gettext.h" #include "ident.h" #include "repository.h" #include "lockfile.h" diff --git a/connect.c b/connect.c index 000865bc33..f3b159bf44 100644 --- a/connect.c +++ b/connect.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "pkt-line.h" #include "quote.h" diff --git a/connected.c b/connected.c index 39cb1e1074..a4c0aece75 100644 --- a/connected.c +++ b/connected.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "hex.h" #include "object-store.h" #include "run-command.h" diff --git a/convert.c b/convert.c index 349c7e4af1..2bd54244b5 100644 --- a/convert.c +++ b/convert.c @@ -1,5 +1,6 @@ #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "object-store.h" #include "attr.h" diff --git a/credential.c b/credential.c index ea40a2a410..5244f3c12c 100644 --- a/credential.c +++ b/credential.c @@ -1,6 +1,7 @@ #include "cache.h" #include "config.h" #include "credential.h" +#include "gettext.h" #include "string-list.h" #include "run-command.h" #include "url.h" diff --git a/date.c b/date.c index 6f45eeb356..1fb2cd1b53 100644 --- a/date.c +++ b/date.c @@ -6,6 +6,7 @@ #include "cache.h" #include "date.h" +#include "gettext.h" /* * This is like mktime, but without normalization of tm_wday and tm_yday. diff --git a/delta-islands.c b/delta-islands.c index fe12c93005..1222b6a6cd 100644 --- a/delta-islands.c +++ b/delta-islands.c @@ -4,6 +4,7 @@ #include "object.h" #include "blob.h" #include "commit.h" +#include "gettext.h" #include "hex.h" #include "tag.h" #include "tree.h" diff --git a/diagnose.c b/diagnose.c index 5b398f0cff..169a55407f 100644 --- a/diagnose.c +++ b/diagnose.c @@ -4,6 +4,7 @@ #include "archive.h" #include "dir.h" #include "help.h" +#include "gettext.h" #include "hex.h" #include "strvec.h" #include "object-store.h" diff --git a/diff-lib.c b/diff-lib.c index 70b3578b90..a7e0400987 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -6,6 +6,7 @@ #include "commit.h" #include "diff.h" #include "diffcore.h" +#include "gettext.h" #include "hex.h" #include "revision.h" #include "cache-tree.h" diff --git a/diff-no-index.c b/diff-no-index.c index a3cf358baf..287a113bad 100644 --- a/diff-no-index.c +++ b/diff-no-index.c @@ -11,6 +11,7 @@ #include "tag.h" #include "diff.h" #include "diffcore.h" +#include "gettext.h" #include "revision.h" #include "log-tree.h" #include "parse-options.h" diff --git a/diff.c b/diff.c index 00d47281a1..00746f2f86 100644 --- a/diff.c +++ b/diff.c @@ -4,6 +4,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "tempfile.h" #include "quote.h" #include "diff.h" diff --git a/dir.c b/dir.c index d5bb199f4b..46f1bb6e5b 100644 --- a/dir.c +++ b/dir.c @@ -9,6 +9,7 @@ #include "alloc.h" #include "config.h" #include "dir.h" +#include "gettext.h" #include "object-store.h" #include "attr.h" #include "refs.h" diff --git a/editor.c b/editor.c index 008c04fe2f..58e790548d 100644 --- a/editor.c +++ b/editor.c @@ -1,5 +1,6 @@ #include "cache.h" #include "config.h" +#include "gettext.h" #include "strbuf.h" #include "strvec.h" #include "run-command.h" diff --git a/entry.c b/entry.c index c97cfa833b..acb76a61ac 100644 --- a/entry.c +++ b/entry.c @@ -2,6 +2,7 @@ #include "blob.h" #include "object-store.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "streaming.h" #include "submodule.h" diff --git a/environment.c b/environment.c index 89d89110e4..82a1fc17d0 100644 --- a/environment.c +++ b/environment.c @@ -10,6 +10,7 @@ #include "cache.h" #include "branch.h" #include "environment.h" +#include "gettext.h" #include "repository.h" #include "config.h" #include "refs.h" diff --git a/exec-cmd.c b/exec-cmd.c index 0232bbc990..282d95af08 100644 --- a/exec-cmd.c +++ b/exec-cmd.c @@ -1,5 +1,6 @@ #include "cache.h" #include "exec-cmd.h" +#include "gettext.h" #include "quote.h" #include "strvec.h" diff --git a/fetch-pack.c b/fetch-pack.c index 4ddabb4ec7..359dce6afe 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "repository.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "refs.h" diff --git a/fsmonitor-ipc.c b/fsmonitor-ipc.c index 19d772f0f3..866828e299 100644 --- a/fsmonitor-ipc.c +++ b/fsmonitor-ipc.c @@ -1,5 +1,6 @@ #include "cache.h" #include "fsmonitor.h" +#include "gettext.h" #include "simple-ipc.h" #include "fsmonitor-ipc.h" #include "run-command.h" diff --git a/git.c b/git.c index ae2134f29a..22ce4f14b6 100644 --- a/git.c +++ b/git.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "config.h" #include "exec-cmd.h" +#include "gettext.h" #include "help.h" #include "run-command.h" #include "alias.h" diff --git a/gpg-interface.c b/gpg-interface.c index 855970bb93..632265691e 100644 --- a/gpg-interface.c +++ b/gpg-interface.c @@ -1,6 +1,7 @@ #include "cache.h" #include "commit.h" #include "config.h" +#include "gettext.h" #include "run-command.h" #include "strbuf.h" #include "dir.h" diff --git a/grep.c b/grep.c index 68e9328dfd..febb076a7e 100644 --- a/grep.c +++ b/grep.c @@ -1,5 +1,6 @@ #include "cache.h" #include "config.h" +#include "gettext.h" #include "grep.h" #include "hex.h" #include "object-store.h" diff --git a/http-fetch.c b/http-fetch.c index 8db35b9767..454933351b 100644 --- a/http-fetch.c +++ b/http-fetch.c @@ -1,6 +1,7 @@ #include "cache.h" #include "config.h" #include "exec-cmd.h" +#include "gettext.h" #include "hex.h" #include "http.h" #include "walker.h" diff --git a/imap-send.c b/imap-send.c index 93e9018439..c65a27219c 100644 --- a/imap-send.c +++ b/imap-send.c @@ -25,6 +25,7 @@ #include "config.h" #include "credential.h" #include "exec-cmd.h" +#include "gettext.h" #include "run-command.h" #include "parse-options.h" #if defined(NO_OPENSSL) && !defined(HAVE_OPENSSL_CSPRNG) diff --git a/list-objects-filter-options.h b/list-objects-filter-options.h index ef03b45132..65c6119e9d 100644 --- a/list-objects-filter-options.h +++ b/list-objects-filter-options.h @@ -1,6 +1,7 @@ #ifndef LIST_OBJECTS_FILTER_OPTIONS_H #define LIST_OBJECTS_FILTER_OPTIONS_H +#include "gettext.h" #include "object.h" #include "parse-options.h" #include "string-list.h" diff --git a/list-objects-filter.c b/list-objects-filter.c index 5d7b331660..298ca08711 100644 --- a/list-objects-filter.c +++ b/list-objects-filter.c @@ -1,6 +1,7 @@ #include "cache.h" #include "alloc.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "tag.h" #include "commit.h" diff --git a/list-objects.c b/list-objects.c index ab5745bbfe..3906ac442d 100644 --- a/list-objects.c +++ b/list-objects.c @@ -1,6 +1,7 @@ #include "cache.h" #include "tag.h" #include "commit.h" +#include "gettext.h" #include "hex.h" #include "tree.h" #include "blob.h" diff --git a/lockfile.c b/lockfile.c index cc9a4b8428..ab6490a391 100644 --- a/lockfile.c +++ b/lockfile.c @@ -3,6 +3,7 @@ */ #include "cache.h" +#include "gettext.h" #include "lockfile.h" /* diff --git a/ls-refs.c b/ls-refs.c index 8091b0cca8..ae38889bf0 100644 --- a/ls-refs.c +++ b/ls-refs.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "refs.h" diff --git a/merge-ort-wrappers.c b/merge-ort-wrappers.c index 748924a69b..c00dfbab1c 100644 --- a/merge-ort-wrappers.c +++ b/merge-ort-wrappers.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "merge-ort.h" #include "merge-ort-wrappers.h" diff --git a/merge-ort.c b/merge-ort.c index 4c5be8ed91..a26cad5f91 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -26,6 +26,7 @@ #include "diff.h" #include "diffcore.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "entry.h" #include "ll-merge.h" diff --git a/merge-recursive.c b/merge-recursive.c index 89731f4090..0b0255ebc8 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -17,6 +17,7 @@ #include "diff.h" #include "diffcore.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "ll-merge.h" #include "lockfile.h" diff --git a/merge.c b/merge.c index 2c8b845684..da7fa652c2 100644 --- a/merge.c +++ b/merge.c @@ -1,6 +1,7 @@ #include "cache.h" #include "diff.h" #include "diffcore.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "commit.h" diff --git a/midx.c b/midx.c index 47989f7ea7..e132ef250e 100644 --- a/midx.c +++ b/midx.c @@ -3,6 +3,7 @@ #include "config.h" #include "csum-file.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "packfile.h" diff --git a/name-hash.c b/name-hash.c index cd009c7c8a..bb9eae55ac 100644 --- a/name-hash.c +++ b/name-hash.c @@ -6,6 +6,7 @@ * Copyright (C) 2008 Linus Torvalds */ #include "cache.h" +#include "gettext.h" #include "thread-utils.h" #include "trace2.h" #include "sparse-index.h" diff --git a/notes-merge.c b/notes-merge.c index 5b1a9ff13f..c8d0020b1a 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -1,5 +1,6 @@ #include "cache.h" #include "commit.h" +#include "gettext.h" #include "refs.h" #include "object-store.h" #include "repository.h" diff --git a/notes-utils.c b/notes-utils.c index d7d18e30f5..da08e2e8e5 100644 --- a/notes-utils.c +++ b/notes-utils.c @@ -1,6 +1,7 @@ #include "cache.h" #include "config.h" #include "commit.h" +#include "gettext.h" #include "refs.h" #include "notes-utils.h" #include "repository.h" diff --git a/object-file.c b/object-file.c index 8fab8dbe80..39660d49db 100644 --- a/object-file.c +++ b/object-file.c @@ -9,6 +9,7 @@ #include "git-compat-util.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "string-list.h" #include "lockfile.h" diff --git a/object-name.c b/object-name.c index 69db1ec498..2c927bbded 100644 --- a/object-name.c +++ b/object-name.c @@ -1,5 +1,6 @@ #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "tag.h" #include "commit.h" diff --git a/object.c b/object.c index 609fed1b73..45c9721b8c 100644 --- a/object.c +++ b/object.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "hex.h" #include "object.h" #include "replace-object.h" diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c index 891d9d2772..7dc7f0ba55 100644 --- a/pack-bitmap-write.c +++ b/pack-bitmap-write.c @@ -1,5 +1,6 @@ #include "git-compat-util.h" #include "alloc.h" +#include "gettext.h" #include "hex.h" #include "object-store.h" #include "commit.h" diff --git a/pack-bitmap.c b/pack-bitmap.c index ca7c81b5c9..241ac9166c 100644 --- a/pack-bitmap.c +++ b/pack-bitmap.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "alloc.h" #include "commit.h" +#include "gettext.h" #include "hex.h" #include "strbuf.h" #include "tag.h" diff --git a/pack-mtimes.c b/pack-mtimes.c index cd92fc1d86..afed632190 100644 --- a/pack-mtimes.c +++ b/pack-mtimes.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "pack-mtimes.h" #include "object-store.h" #include "packfile.h" diff --git a/pack-revindex.c b/pack-revindex.c index 08dc160167..03c7e81f9d 100644 --- a/pack-revindex.c +++ b/pack-revindex.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "pack-revindex.h" #include "object-store.h" #include "packfile.h" diff --git a/pack-write.c b/pack-write.c index 041e573bc1..87156f89d2 100644 --- a/pack-write.c +++ b/pack-write.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "hex.h" #include "pack.h" #include "csum-file.h" diff --git a/packfile.c b/packfile.c index 2023df1b75..3290fde15a 100644 --- a/packfile.c +++ b/packfile.c @@ -1,5 +1,6 @@ #include "git-compat-util.h" #include "alloc.h" +#include "gettext.h" #include "hex.h" #include "list.h" #include "pack.h" diff --git a/parallel-checkout.c b/parallel-checkout.c index 2455aa356d..38c4dc665d 100644 --- a/parallel-checkout.c +++ b/parallel-checkout.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "config.h" #include "entry.h" +#include "gettext.h" #include "hex.h" #include "parallel-checkout.h" #include "pkt-line.h" diff --git a/parse-options-cb.c b/parse-options-cb.c index d346dbe210..fbf4b01019 100644 --- a/parse-options-cb.c +++ b/parse-options-cb.c @@ -4,6 +4,7 @@ #include "cache.h" #include "commit.h" #include "color.h" +#include "gettext.h" #include "string-list.h" #include "strvec.h" #include "oid-array.h" diff --git a/parse-options.c b/parse-options.c index 6dd4c090e0..084b4f1062 100644 --- a/parse-options.c +++ b/parse-options.c @@ -4,6 +4,7 @@ #include "config.h" #include "commit.h" #include "color.h" +#include "gettext.h" #include "utf8.h" static int disallow_abbreviated_options; diff --git a/parse-options.h b/parse-options.h index 50d852f299..d57868eff9 100644 --- a/parse-options.h +++ b/parse-options.h @@ -1,6 +1,8 @@ #ifndef PARSE_OPTIONS_H #define PARSE_OPTIONS_H +#include "gettext.h" + /** * Refer to Documentation/technical/api-parse-options.txt for the API doc. */ diff --git a/path.c b/path.c index 632a051809..3f2702cbe4 100644 --- a/path.c +++ b/path.c @@ -2,6 +2,7 @@ * Utilities for paths and pathnames */ #include "cache.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "strbuf.h" diff --git a/pathspec.c b/pathspec.c index ab70fcbe61..868b4d280c 100644 --- a/pathspec.c +++ b/pathspec.c @@ -1,6 +1,7 @@ #include "cache.h" #include "config.h" #include "dir.h" +#include "gettext.h" #include "pathspec.h" #include "attr.h" #include "strvec.h" diff --git a/pkt-line.c b/pkt-line.c index 1ea7f8600e..c8b90b2242 100644 --- a/pkt-line.c +++ b/pkt-line.c @@ -1,5 +1,6 @@ #include "cache.h" #include "pkt-line.h" +#include "gettext.h" #include "hex.h" #include "run-command.h" diff --git a/preload-index.c b/preload-index.c index 100f7a374d..4b45e1d691 100644 --- a/preload-index.c +++ b/preload-index.c @@ -5,6 +5,7 @@ #include "pathspec.h" #include "dir.h" #include "fsmonitor.h" +#include "gettext.h" #include "config.h" #include "progress.h" #include "thread-utils.h" diff --git a/pretty.c b/pretty.c index 05b557d096..9d7922dcc6 100644 --- a/pretty.c +++ b/pretty.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "config.h" #include "commit.h" +#include "gettext.h" #include "hex.h" #include "utf8.h" #include "diff.h" diff --git a/promisor-remote.c b/promisor-remote.c index 1db566982e..a8dbb788e8 100644 --- a/promisor-remote.c +++ b/promisor-remote.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "hex.h" #include "object-store.h" #include "promisor-remote.h" diff --git a/prune-packed.c b/prune-packed.c index e02f466c2e..cff5ad569c 100644 --- a/prune-packed.c +++ b/prune-packed.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "object-store.h" #include "packfile.h" #include "progress.h" diff --git a/range-diff.c b/range-diff.c index 4bd65ab749..1bfc612e27 100644 --- a/range-diff.c +++ b/range-diff.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "range-diff.h" #include "string-list.h" #include "run-command.h" diff --git a/reachable.c b/reachable.c index c9dab2a66b..b0f85046e9 100644 --- a/reachable.c +++ b/reachable.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "tag.h" diff --git a/read-cache.c b/read-cache.c index 1bcf673271..63789ea5e2 100644 --- a/read-cache.c +++ b/read-cache.c @@ -18,6 +18,7 @@ #include "tree.h" #include "commit.h" #include "blob.h" +#include "gettext.h" #include "resolve-undo.h" #include "run-command.h" #include "strbuf.h" diff --git a/rebase-interactive.c b/rebase-interactive.c index 7407c59319..649c94e69a 100644 --- a/rebase-interactive.c +++ b/rebase-interactive.c @@ -1,5 +1,6 @@ #include "cache.h" #include "commit.h" +#include "gettext.h" #include "sequencer.h" #include "rebase-interactive.h" #include "strbuf.h" diff --git a/ref-filter.c b/ref-filter.c index 38141bce8d..9a830bedef 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -1,5 +1,6 @@ #include "cache.h" #include "alloc.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" #include "refs.h" diff --git a/ref-filter.h b/ref-filter.h index aa0eea4ecf..cc811c2cad 100644 --- a/ref-filter.h +++ b/ref-filter.h @@ -1,6 +1,7 @@ #ifndef REF_FILTER_H #define REF_FILTER_H +#include "gettext.h" #include "oid-array.h" #include "refs.h" #include "commit.h" diff --git a/reflog.c b/reflog.c index 04630f56ec..d1c3937431 100644 --- a/reflog.c +++ b/reflog.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "object-store.h" #include "reflog.h" #include "refs.h" diff --git a/refs.c b/refs.c index 4e5cc73fb1..8684f4610f 100644 --- a/refs.c +++ b/refs.c @@ -6,6 +6,7 @@ #include "alloc.h" #include "config.h" #include "hashmap.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "iterator.h" diff --git a/refs/files-backend.c b/refs/files-backend.c index 31bc5c45ee..de3628ff3f 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -1,5 +1,6 @@ #include "../cache.h" #include "../config.h" +#include "../gettext.h" #include "../hex.h" #include "../refs.h" #include "refs-internal.h" diff --git a/refs/packed-backend.c b/refs/packed-backend.c index 6f97518599..3334c07003 100644 --- a/refs/packed-backend.c +++ b/refs/packed-backend.c @@ -1,6 +1,7 @@ #include "../cache.h" #include "../alloc.h" #include "../config.h" +#include "../gettext.h" #include "../hex.h" #include "../refs.h" #include "refs-internal.h" diff --git a/remote-curl.c b/remote-curl.c index ed7e3a043a..943cd6fe6c 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "remote.h" #include "connect.h" diff --git a/remote.c b/remote.c index 2daddb85cb..edb1e07497 100644 --- a/remote.c +++ b/remote.c @@ -1,6 +1,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "remote.h" #include "urlmatch.h" diff --git a/replace-object.c b/replace-object.c index 0cf056c4fb..9e30e0362b 100644 --- a/replace-object.c +++ b/replace-object.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "hex.h" #include "oidmap.h" #include "object-store.h" diff --git a/rerere.c b/rerere.c index a67abaab07..9428cbca7b 100644 --- a/rerere.c +++ b/rerere.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "string-list.h" diff --git a/rerere.h b/rerere.h index c32d79c3bd..7899dc2174 100644 --- a/rerere.h +++ b/rerere.h @@ -1,6 +1,7 @@ #ifndef RERERE_H #define RERERE_H +#include "gettext.h" #include "string-list.h" struct pathspec; diff --git a/reset.c b/reset.c index 58b3829ff7..604d9325b7 100644 --- a/reset.c +++ b/reset.c @@ -1,5 +1,6 @@ #include "git-compat-util.h" #include "cache-tree.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "refs.h" diff --git a/revision.c b/revision.c index e4c066e90b..7423e23327 100644 --- a/revision.c +++ b/revision.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "object-store.h" #include "tag.h" diff --git a/run-command.c b/run-command.c index ba617655b2..2c8b4cd9bf 100644 --- a/run-command.c +++ b/run-command.c @@ -1,6 +1,7 @@ #include "cache.h" #include "run-command.h" #include "exec-cmd.h" +#include "gettext.h" #include "sigchain.h" #include "strvec.h" #include "thread-utils.h" diff --git a/send-pack.c b/send-pack.c index 423a5cfe22..f531cb4821 100644 --- a/send-pack.c +++ b/send-pack.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "config.h" #include "commit.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "object-store.h" diff --git a/sequencer.c b/sequencer.c index 3be23d7ca2..0df5172630 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1,6 +1,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "dir.h" diff --git a/setup.c b/setup.c index cefd5f63c4..8a4ccee4c2 100644 --- a/setup.c +++ b/setup.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "repository.h" #include "config.h" #include "dir.h" diff --git a/sideband.c b/sideband.c index 85bddfdcd4..4905cf9b32 100644 --- a/sideband.c +++ b/sideband.c @@ -1,6 +1,7 @@ #include "cache.h" #include "color.h" #include "config.h" +#include "gettext.h" #include "sideband.h" #include "help.h" #include "pkt-line.h" diff --git a/sparse-index.c b/sparse-index.c index 63216b3e57..fdae9011b8 100644 --- a/sparse-index.c +++ b/sparse-index.c @@ -1,5 +1,6 @@ #include "cache.h" #include "alloc.h" +#include "gettext.h" #include "repository.h" #include "sparse-index.h" #include "tree.h" diff --git a/split-index.c b/split-index.c index 95ecfa5319..c98807c655 100644 --- a/split-index.c +++ b/split-index.c @@ -1,5 +1,6 @@ #include "cache.h" #include "alloc.h" +#include "gettext.h" #include "split-index.h" #include "ewah/ewok.h" diff --git a/strbuf.c b/strbuf.c index 8800830ebf..15209777d5 100644 --- a/strbuf.c +++ b/strbuf.c @@ -1,5 +1,6 @@ #include "cache.h" #include "alloc.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "string-list.h" diff --git a/submodule-config.c b/submodule-config.c index 89a7bf0a93..38663801aa 100644 --- a/submodule-config.c +++ b/submodule-config.c @@ -1,6 +1,7 @@ #include "cache.h" #include "alloc.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "repository.h" #include "config.h" diff --git a/submodule.c b/submodule.c index 0baf97cf77..8b551e5327 100644 --- a/submodule.c +++ b/submodule.c @@ -7,6 +7,7 @@ #include "dir.h" #include "diff.h" #include "commit.h" +#include "gettext.h" #include "hex.h" #include "revision.h" #include "run-command.h" diff --git a/symlinks.c b/symlinks.c index c667baa949..c35c8d4408 100644 --- a/symlinks.c +++ b/symlinks.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" static int threaded_check_leading_path(struct cache_def *cache, const char *name, int len, int warn_on_lstat_err); diff --git a/t/helper/test-cache-tree.c b/t/helper/test-cache-tree.c index 615e648e55..8b7a8fce1e 100644 --- a/t/helper/test-cache-tree.c +++ b/t/helper/test-cache-tree.c @@ -1,6 +1,7 @@ #define USE_THE_INDEX_VARIABLE #include "test-tool.h" #include "cache.h" +#include "gettext.h" #include "hex.h" #include "tree.h" #include "cache-tree.h" diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c index 1e975df904..68bbc41b33 100644 --- a/t/helper/test-fast-rebase.c +++ b/t/helper/test-fast-rebase.c @@ -15,6 +15,7 @@ #include "cache.h" #include "cache-tree.h" #include "commit.h" +#include "gettext.h" #include "hex.h" #include "lockfile.h" #include "merge-ort.h" diff --git a/t/helper/test-reach.c b/t/helper/test-reach.c index 05d56267a9..09c711038c 100644 --- a/t/helper/test-reach.c +++ b/t/helper/test-reach.c @@ -4,6 +4,7 @@ #include "commit.h" #include "commit-reach.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "parse-options.h" #include "ref-filter.h" diff --git a/t/helper/test-serve-v2.c b/t/helper/test-serve-v2.c index 824e5c0a95..497d72058d 100644 --- a/t/helper/test-serve-v2.c +++ b/t/helper/test-serve-v2.c @@ -1,5 +1,6 @@ #include "test-tool.h" #include "cache.h" +#include "gettext.h" #include "parse-options.h" #include "serve.h" diff --git a/trailer.c b/trailer.c index 72c3fed5c6..9eb1b76119 100644 --- a/trailer.c +++ b/trailer.c @@ -1,6 +1,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "gettext.h" #include "string-list.h" #include "run-command.h" #include "commit.h" diff --git a/transport-helper.c b/transport-helper.c index 82ac63e260..105bb801c2 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -4,6 +4,7 @@ #include "run-command.h" #include "commit.h" #include "diff.h" +#include "gettext.h" #include "hex.h" #include "revision.h" #include "remote.h" diff --git a/tree-walk.c b/tree-walk.c index 0e2f5ceb71..38b6556478 100644 --- a/tree-walk.c +++ b/tree-walk.c @@ -2,6 +2,7 @@ #include "tree-walk.h" #include "alloc.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "object-store.h" #include "tree.h" diff --git a/unpack-trees.c b/unpack-trees.c index a75fb9f05b..84e0d2e8af 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -3,6 +3,7 @@ #include "repository.h" #include "config.h" #include "dir.h" +#include "gettext.h" #include "hex.h" #include "tree.h" #include "tree-walk.h" diff --git a/upload-pack.c b/upload-pack.c index 41b9362cf1..eea9e6a6e8 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -1,5 +1,6 @@ #include "cache.h" #include "config.h" +#include "gettext.h" #include "hex.h" #include "refs.h" #include "pkt-line.h" diff --git a/usage.c b/usage.c index 5a7c6c346c..40a1c5a433 100644 --- a/usage.c +++ b/usage.c @@ -3,8 +3,8 @@ * * Copyright (C) Linus Torvalds, 2005 */ -#include "git-compat-util.h" #include "cache.h" +#include "gettext.h" static void vreportf(const char *prefix, const char *err, va_list params) { diff --git a/walker.c b/walker.c index c046936378..b642fd2c3b 100644 --- a/walker.c +++ b/walker.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "gettext.h" #include "hex.h" #include "walker.h" #include "repository.h" diff --git a/worktree.c b/worktree.c index cbb0db2d7c..09eb522e5a 100644 --- a/worktree.c +++ b/worktree.c @@ -1,5 +1,6 @@ #include "cache.h" #include "alloc.h" +#include "gettext.h" #include "repository.h" #include "refs.h" #include "strbuf.h" diff --git a/wrapper.c b/wrapper.c index 299d6489a6..0d4ceba6fc 100644 --- a/wrapper.c +++ b/wrapper.c @@ -3,6 +3,7 @@ */ #include "cache.h" #include "config.h" +#include "gettext.h" static intmax_t count_fsync_writeout_only; static intmax_t count_fsync_hardware_flush; diff --git a/wt-status.c b/wt-status.c index 90525bd26f..d15f2b0e7e 100644 --- a/wt-status.c +++ b/wt-status.c @@ -4,6 +4,7 @@ #include "dir.h" #include "commit.h" #include "diff.h" +#include "gettext.h" #include "hex.h" #include "revision.h" #include "diffcore.h" -- cgit 1.2.3-korg From 7ee24e18e55f5459183189a793cb216fb50c20f8 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 21 Mar 2023 06:25:57 +0000 Subject: environment: move comment_line_char from cache.h This is one step towards making strbuf.c not depend upon cache.h. Additional steps will follow in subsequent commits. Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- add-patch.c | 1 + builtin/branch.c | 1 + builtin/commit.c | 1 + builtin/merge.c | 1 + builtin/tag.c | 1 + cache.h | 7 ------- commit.c | 1 + environment.h | 7 +++++++ fmt-merge-msg.c | 1 + sequencer.c | 1 + strbuf.c | 1 + trailer.c | 1 + wt-status.c | 1 + 13 files changed, 18 insertions(+), 7 deletions(-) (limited to 'commit.c') diff --git a/add-patch.c b/add-patch.c index 4c803a5f4d..e59830291a 100644 --- a/add-patch.c +++ b/add-patch.c @@ -1,6 +1,7 @@ #include "cache.h" #include "add-interactive.h" #include "alloc.h" +#include "environment.h" #include "gettext.h" #include "strbuf.h" #include "run-command.h" diff --git a/builtin/branch.c b/builtin/branch.c index a67a8334d5..56dbee97d2 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -8,6 +8,7 @@ #include "cache.h" #include "config.h" #include "color.h" +#include "environment.h" #include "refs.h" #include "commit.h" #include "builtin.h" diff --git a/builtin/commit.c b/builtin/commit.c index 25575435ad..42bf20f589 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -12,6 +12,7 @@ #include "cache-tree.h" #include "color.h" #include "dir.h" +#include "environment.h" #include "builtin.h" #include "diff.h" #include "diffcore.h" diff --git a/builtin/merge.c b/builtin/merge.c index a90ae5d2dd..2c9da4b23d 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -10,6 +10,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "environment.h" #include "gettext.h" #include "hex.h" #include "parse-options.h" diff --git a/builtin/tag.c b/builtin/tag.c index c2ea89c475..0611b3bd60 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -9,6 +9,7 @@ #include "cache.h" #include "config.h" #include "builtin.h" +#include "environment.h" #include "gettext.h" #include "hex.h" #include "refs.h" diff --git a/cache.h b/cache.h index 5a736a2b7e..e122de6f93 100644 --- a/cache.h +++ b/cache.h @@ -959,13 +959,6 @@ extern int sparse_expect_files_outside_of_patterns; */ int use_optional_locks(void); -/* - * The character that begins a commented line in user-editable file - * that is subject to stripspace. - */ -extern char comment_line_char; -extern int auto_comment_line_char; - enum log_refs_config { LOG_REFS_UNSET = -1, LOG_REFS_NONE = 0, diff --git a/commit.c b/commit.c index 3fdfb32511..f88fc5e1a2 100644 --- a/commit.c +++ b/commit.c @@ -2,6 +2,7 @@ #include "tag.h" #include "commit.h" #include "commit-graph.h" +#include "environment.h" #include "gettext.h" #include "hex.h" #include "repository.h" diff --git a/environment.h b/environment.h index d438b5c8f3..a26931556a 100644 --- a/environment.h +++ b/environment.h @@ -3,6 +3,13 @@ #include "strvec.h" +/* + * The character that begins a commented line in user-editable file + * that is subject to stripspace. + */ +extern char comment_line_char; +extern int auto_comment_line_char; + /* * Wrapper of getenv() that returns a strdup value. This value is kept * in argv to be freed later. diff --git a/fmt-merge-msg.c b/fmt-merge-msg.c index c870cb95b9..bc4e61c5b1 100644 --- a/fmt-merge-msg.c +++ b/fmt-merge-msg.c @@ -1,6 +1,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "environment.h" #include "refs.h" #include "object-store.h" #include "diff.h" diff --git a/sequencer.c b/sequencer.c index 0df5172630..7fa776b061 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1,6 +1,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "environment.h" #include "gettext.h" #include "hex.h" #include "lockfile.h" diff --git a/strbuf.c b/strbuf.c index 15209777d5..b9cd593b14 100644 --- a/strbuf.c +++ b/strbuf.c @@ -1,5 +1,6 @@ #include "cache.h" #include "alloc.h" +#include "environment.h" #include "gettext.h" #include "hex.h" #include "refs.h" diff --git a/trailer.c b/trailer.c index 9eb1b76119..6a5091a3c4 100644 --- a/trailer.c +++ b/trailer.c @@ -1,6 +1,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "environment.h" #include "gettext.h" #include "string-list.h" #include "run-command.h" diff --git a/wt-status.c b/wt-status.c index d15f2b0e7e..106e46480a 100644 --- a/wt-status.c +++ b/wt-status.c @@ -4,6 +4,7 @@ #include "dir.h" #include "commit.h" #include "diff.h" +#include "environment.h" #include "gettext.h" #include "hex.h" #include "revision.h" -- cgit 1.2.3-korg From e38da487cc50ce4b5b48085eebcab8268c541579 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 21 Mar 2023 06:26:05 +0000 Subject: setup.h: move declarations for setup.c functions from cache.h Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- apply.c | 1 + archive.c | 1 + attr.c | 1 + blame.c | 1 + builtin/blame.c | 1 + builtin/bugreport.c | 1 + builtin/bundle.c | 1 + builtin/check-attr.c | 1 + builtin/check-ref-format.c | 1 + builtin/checkout-index.c | 1 + builtin/checkout.c | 1 + builtin/clean.c | 1 + builtin/clone.c | 1 + builtin/config.c | 1 + builtin/describe.c | 1 + builtin/diff-index.c | 1 + builtin/diff.c | 1 + builtin/difftool.c | 1 + builtin/gc.c | 1 + builtin/grep.c | 1 + builtin/hash-object.c | 1 + builtin/help.c | 1 + builtin/index-pack.c | 1 + builtin/init-db.c | 1 + builtin/ls-files.c | 1 + builtin/merge-file.c | 1 + builtin/mv.c | 1 + builtin/read-tree.c | 1 + builtin/reset.c | 1 + builtin/rev-parse.c | 1 + builtin/rm.c | 1 + builtin/shortlog.c | 1 + builtin/sparse-checkout.c | 1 + builtin/stash.c | 1 + builtin/stripspace.c | 1 + builtin/submodule--helper.c | 1 + builtin/update-index.c | 1 + cache.h | 163 -------------------------- commit.c | 1 + common-main.c | 1 + config.c | 1 + daemon.c | 1 + diff.c | 1 + dir.c | 1 + environment.c | 1 + git.c | 1 + http-fetch.c | 1 + http-push.c | 1 + imap-send.c | 1 + line-log.c | 1 + mailmap.c | 1 + object-file.c | 1 + object-name.c | 1 + path.c | 1 + pathspec.c | 1 + refs.c | 1 + refs/files-backend.c | 1 + remote-curl.c | 1 + remote.c | 1 + repository.c | 1 + revision.c | 1 + scalar.c | 1 + setup.c | 1 + setup.h | 168 +++++++++++++++++++++++++++ submodule.c | 1 + symlinks.c | 1 + t/helper/test-advise.c | 1 + t/helper/test-bitmap.c | 1 + t/helper/test-bloom.c | 1 + t/helper/test-cache-tree.c | 1 + t/helper/test-config.c | 1 + t/helper/test-dump-cache-tree.c | 2 +- t/helper/test-dump-fsmonitor.c | 1 + t/helper/test-dump-split-index.c | 1 + t/helper/test-dump-untracked-cache.c | 1 + t/helper/test-fast-rebase.c | 1 + t/helper/test-fsmonitor-client.c | 1 + t/helper/test-lazy-init-name-hash.c | 1 + t/helper/test-match-trees.c | 1 + t/helper/test-oid-array.c | 1 + t/helper/test-oidmap.c | 1 + t/helper/test-oidtree.c | 1 + t/helper/test-pack-mtimes.c | 1 + t/helper/test-partial-clone.c | 1 + t/helper/test-path-utils.c | 1 + t/helper/test-proc-receive.c | 1 + t/helper/test-reach.c | 1 + t/helper/test-read-cache.c | 1 + t/helper/test-read-graph.c | 1 + t/helper/test-read-midx.c | 1 + t/helper/test-ref-store.c | 1 + t/helper/test-repository.c | 1 + t/helper/test-revision-walking.c | 1 + t/helper/test-scrap-cache-tree.c | 1 + t/helper/test-serve-v2.c | 1 + t/helper/test-submodule-config.c | 1 + t/helper/test-submodule-nested-repo-config.c | 1 + t/helper/test-submodule.c | 1 + t/helper/test-subprocess.c | 1 + t/helper/test-userdiff.c | 1 + t/helper/test-write-cache.c | 1 + trace.c | 1 + unpack-trees.c | 1 + worktree.c | 1 + wt-status.c | 1 + 105 files changed, 271 insertions(+), 164 deletions(-) create mode 100644 setup.h (limited to 'commit.c') diff --git a/apply.c b/apply.c index a7c0bccb15..caa2e0a3bc 100644 --- a/apply.c +++ b/apply.c @@ -27,6 +27,7 @@ #include "rerere.h" #include "apply.h" #include "entry.h" +#include "setup.h" #include "wrapper.h" struct gitdiff_data { diff --git a/archive.c b/archive.c index 7aeaaf368f..cdce5b783a 100644 --- a/archive.c +++ b/archive.c @@ -5,6 +5,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "setup.h" #include "refs.h" #include "object-store.h" #include "commit.h" diff --git a/attr.c b/attr.c index 62127196cb..2d8aeb8b58 100644 --- a/attr.c +++ b/attr.c @@ -18,6 +18,7 @@ #include "quote.h" #include "revision.h" #include "object-store.h" +#include "setup.h" #include "thread-utils.h" const char git_attr__true[] = "(builtin)true"; diff --git a/blame.c b/blame.c index b7cd849bb6..838eb128f0 100644 --- a/blame.c +++ b/blame.c @@ -7,6 +7,7 @@ #include "diffcore.h" #include "gettext.h" #include "hex.h" +#include "setup.h" #include "tag.h" #include "blame.h" #include "alloc.h" diff --git a/builtin/blame.c b/builtin/blame.c index 9ec82edcbd..fb271bae70 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -31,6 +31,7 @@ #include "object-store.h" #include "blame.h" #include "refs.h" +#include "setup.h" #include "tag.h" static char blame_usage[] = N_("git blame [] [] [] [--] "); diff --git a/builtin/bugreport.c b/builtin/bugreport.c index 160590e4ef..52955e1d38 100644 --- a/builtin/bugreport.c +++ b/builtin/bugreport.c @@ -8,6 +8,7 @@ #include "hook.h" #include "hook-list.h" #include "diagnose.h" +#include "setup.h" #include "wrapper.h" static void get_system_info(struct strbuf *sys_info) diff --git a/builtin/bundle.c b/builtin/bundle.c index 9e2aecadf7..e68fc83d94 100644 --- a/builtin/bundle.c +++ b/builtin/bundle.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "abspath.h" #include "gettext.h" +#include "setup.h" #include "strvec.h" #include "parse-options.h" #include "cache.h" diff --git a/builtin/check-attr.c b/builtin/check-attr.c index 5870c4683a..ec37b8164a 100644 --- a/builtin/check-attr.c +++ b/builtin/check-attr.c @@ -6,6 +6,7 @@ #include "environment.h" #include "gettext.h" #include "quote.h" +#include "setup.h" #include "parse-options.h" static int all_attrs; diff --git a/builtin/check-ref-format.c b/builtin/check-ref-format.c index fd0e5f8683..b026346742 100644 --- a/builtin/check-ref-format.c +++ b/builtin/check-ref-format.c @@ -5,6 +5,7 @@ #include "cache.h" #include "refs.h" #include "builtin.h" +#include "setup.h" #include "strbuf.h" static const char builtin_check_ref_format_usage[] = diff --git a/builtin/checkout-index.c b/builtin/checkout-index.c index 828c0363f8..7df673e3e7 100644 --- a/builtin/checkout-index.c +++ b/builtin/checkout-index.c @@ -15,6 +15,7 @@ #include "parse-options.h" #include "entry.h" #include "parallel-checkout.h" +#include "setup.h" #define CHECKOUT_ALL 4 static int nul_term_line; diff --git a/builtin/checkout.c b/builtin/checkout.c index 5541e76c33..73b6e581f3 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -23,6 +23,7 @@ #include "resolve-undo.h" #include "revision.h" #include "run-command.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" #include "tree.h" diff --git a/builtin/clean.c b/builtin/clean.c index fdcf62c5df..14c0d555ea 100644 --- a/builtin/clean.c +++ b/builtin/clean.c @@ -14,6 +14,7 @@ #include "dir.h" #include "gettext.h" #include "parse-options.h" +#include "setup.h" #include "string-list.h" #include "quote.h" #include "column.h" diff --git a/builtin/clone.c b/builtin/clone.c index 15dc15408e..34f46965b9 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -33,6 +33,7 @@ #include "branch.h" #include "remote.h" #include "run-command.h" +#include "setup.h" #include "connected.h" #include "packfile.h" #include "list-objects-filter-options.h" diff --git a/builtin/config.c b/builtin/config.c index cf994a216c..fe79fb60c4 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -9,6 +9,7 @@ #include "parse-options.h" #include "urlmatch.h" #include "quote.h" +#include "setup.h" #include "worktree.h" #include "wrapper.h" diff --git a/builtin/describe.c b/builtin/describe.c index 27c6670e93..43b62348bc 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -15,6 +15,7 @@ #include "revision.h" #include "diff.h" #include "hashmap.h" +#include "setup.h" #include "strvec.h" #include "run-command.h" #include "object-store.h" diff --git a/builtin/diff-index.c b/builtin/diff-index.c index 35dc9b23ee..b9a19bb7d3 100644 --- a/builtin/diff-index.c +++ b/builtin/diff-index.c @@ -5,6 +5,7 @@ #include "commit.h" #include "revision.h" #include "builtin.h" +#include "setup.h" #include "submodule.h" static const char diff_cache_usage[] = diff --git a/builtin/diff.c b/builtin/diff.c index 20bdb6e6ce..3945683bfe 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -19,6 +19,7 @@ #include "revision.h" #include "log-tree.h" #include "builtin.h" +#include "setup.h" #include "submodule.h" #include "oid-array.h" diff --git a/builtin/difftool.c b/builtin/difftool.c index 3613de6389..176437d6da 100644 --- a/builtin/difftool.c +++ b/builtin/difftool.c @@ -28,6 +28,7 @@ #include "object-store.h" #include "dir.h" #include "entry.h" +#include "setup.h" #include "wrapper.h" static int trust_exit_code; diff --git a/builtin/gc.c b/builtin/gc.c index 525c5de5b2..a85f9e3ed3 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -36,6 +36,7 @@ #include "exec-cmd.h" #include "gettext.h" #include "hook.h" +#include "setup.h" #include "wrapper.h" #define FAILED_RUN "failed to run %s" diff --git a/builtin/grep.c b/builtin/grep.c index 3c9c6b3803..b8ebf014f4 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -23,6 +23,7 @@ #include "quote.h" #include "dir.h" #include "pathspec.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" #include "object-store.h" diff --git a/builtin/hash-object.c b/builtin/hash-object.c index 7651a7a5f5..a2e160db02 100644 --- a/builtin/hash-object.c +++ b/builtin/hash-object.c @@ -14,6 +14,7 @@ #include "quote.h" #include "parse-options.h" #include "exec-cmd.h" +#include "setup.h" /* * This is to create corrupt objects for debugging and as such it diff --git a/builtin/help.c b/builtin/help.c index 3fde5c4fd3..87333a02ec 100644 --- a/builtin/help.c +++ b/builtin/help.c @@ -11,6 +11,7 @@ #include "config-list.h" #include "help.h" #include "alias.h" +#include "setup.h" #ifndef DEFAULT_HELP_FORMAT #define DEFAULT_HELP_FORMAT "man" diff --git a/builtin/index-pack.c b/builtin/index-pack.c index fdce8f8872..823dc5aefb 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -20,6 +20,7 @@ #include "object-store.h" #include "replace-object.h" #include "promisor-remote.h" +#include "setup.h" #include "wrapper.h" static const char index_pack_usage[] = diff --git a/builtin/init-db.c b/builtin/init-db.c index 2ebc9023f5..ba6e0b20fa 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c @@ -12,6 +12,7 @@ #include "builtin.h" #include "exec-cmd.h" #include "parse-options.h" +#include "setup.h" #include "worktree.h" #include "wrapper.h" diff --git a/builtin/ls-files.c b/builtin/ls-files.c index 09deb752ab..4a8de95ddc 100644 --- a/builtin/ls-files.c +++ b/builtin/ls-files.c @@ -20,6 +20,7 @@ #include "string-list.h" #include "pathspec.h" #include "run-command.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" diff --git a/builtin/merge-file.c b/builtin/merge-file.c index c0096ee081..781818d08f 100644 --- a/builtin/merge-file.c +++ b/builtin/merge-file.c @@ -3,6 +3,7 @@ #include "cache.h" #include "config.h" #include "gettext.h" +#include "setup.h" #include "xdiff/xdiff.h" #include "xdiff-interface.h" #include "parse-options.h" diff --git a/builtin/mv.c b/builtin/mv.c index c2dd42efbf..b7c5ffbd8c 100644 --- a/builtin/mv.c +++ b/builtin/mv.c @@ -16,6 +16,7 @@ #include "cache-tree.h" #include "string-list.h" #include "parse-options.h" +#include "setup.h" #include "submodule.h" #include "entry.h" diff --git a/builtin/read-tree.c b/builtin/read-tree.c index ec66008d07..5f24453dcd 100644 --- a/builtin/read-tree.c +++ b/builtin/read-tree.c @@ -19,6 +19,7 @@ #include "builtin.h" #include "parse-options.h" #include "resolve-undo.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" diff --git a/builtin/reset.c b/builtin/reset.c index b5dfce1159..af2afc2c98 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -26,6 +26,7 @@ #include "parse-options.h" #include "unpack-trees.h" #include "cache-tree.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" #include "dir.h" diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index bba49d56b9..3a5a2ee5b2 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -18,6 +18,7 @@ #include "parse-options.h" #include "diff.h" #include "revision.h" +#include "setup.h" #include "split-index.h" #include "submodule.h" #include "commit-reach.h" diff --git a/builtin/rm.c b/builtin/rm.c index 5982c3d812..97775e4c4d 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -15,6 +15,7 @@ #include "tree-walk.h" #include "parse-options.h" #include "string-list.h" +#include "setup.h" #include "submodule.h" #include "pathspec.h" diff --git a/builtin/shortlog.c b/builtin/shortlog.c index 31f81c25ea..59d9c440fb 100644 --- a/builtin/shortlog.c +++ b/builtin/shortlog.c @@ -9,6 +9,7 @@ #include "revision.h" #include "utf8.h" #include "mailmap.h" +#include "setup.h" #include "shortlog.h" #include "parse-options.h" #include "trailer.h" diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c index f6a120c7c4..512df0f8f5 100644 --- a/builtin/sparse-checkout.c +++ b/builtin/sparse-checkout.c @@ -16,6 +16,7 @@ #include "unpack-trees.h" #include "wt-status.h" #include "quote.h" +#include "setup.h" #include "sparse-index.h" #include "worktree.h" diff --git a/builtin/stash.c b/builtin/stash.c index 94f81d75d0..30d547fff1 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -18,6 +18,7 @@ #include "entry.h" #include "rerere.h" #include "revision.h" +#include "setup.h" #include "log-tree.h" #include "diffcore.h" #include "exec-cmd.h" diff --git a/builtin/stripspace.c b/builtin/stripspace.c index d8e6145933..53930458ff 100644 --- a/builtin/stripspace.c +++ b/builtin/stripspace.c @@ -3,6 +3,7 @@ #include "config.h" #include "gettext.h" #include "parse-options.h" +#include "setup.h" #include "strbuf.h" static void comment_lines(struct strbuf *buf) diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 2bf2a1a8be..3cb4a3ce21 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -12,6 +12,7 @@ #include "quote.h" #include "pathspec.h" #include "dir.h" +#include "setup.h" #include "submodule.h" #include "submodule-config.h" #include "string-list.h" diff --git a/builtin/update-index.c b/builtin/update-index.c index 4642afaeb7..f97f8d4c9d 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -20,6 +20,7 @@ #include "parse-options.h" #include "pathspec.h" #include "dir.h" +#include "setup.h" #include "split-index.h" #include "fsmonitor.h" diff --git a/cache.h b/cache.h index 720c88f9fd..bffedd240e 100644 --- a/cache.h +++ b/cache.h @@ -452,67 +452,6 @@ static inline enum object_type object_type(unsigned int mode) OBJ_BLOB; } -int is_inside_git_dir(void); -int is_inside_work_tree(void); -int get_common_dir_noenv(struct strbuf *sb, const char *gitdir); -int get_common_dir(struct strbuf *sb, const char *gitdir); - -/* - * Return true if the given path is a git directory; note that this _just_ - * looks at the directory itself. If you want to know whether "foo/.git" - * is a repository, you must feed that path, not just "foo". - */ -int is_git_directory(const char *path); - -/* - * Return 1 if the given path is the root of a git repository or - * submodule, else 0. Will not return 1 for bare repositories with the - * exception of creating a bare repository in "foo/.git" and calling - * is_git_repository("foo"). - * - * If we run into read errors, we err on the side of saying "yes, it is", - * as we usually consider sub-repos precious, and would prefer to err on the - * side of not disrupting or deleting them. - */ -int is_nonbare_repository_dir(struct strbuf *path); - -#define READ_GITFILE_ERR_STAT_FAILED 1 -#define READ_GITFILE_ERR_NOT_A_FILE 2 -#define READ_GITFILE_ERR_OPEN_FAILED 3 -#define READ_GITFILE_ERR_READ_FAILED 4 -#define READ_GITFILE_ERR_INVALID_FORMAT 5 -#define READ_GITFILE_ERR_NO_PATH 6 -#define READ_GITFILE_ERR_NOT_A_REPO 7 -#define READ_GITFILE_ERR_TOO_LARGE 8 -void read_gitfile_error_die(int error_code, const char *path, const char *dir); -const char *read_gitfile_gently(const char *path, int *return_error_code); -#define read_gitfile(path) read_gitfile_gently((path), NULL) -const char *resolve_gitdir_gently(const char *suspect, int *return_error_code); -#define resolve_gitdir(path) resolve_gitdir_gently((path), NULL) - -void setup_work_tree(void); -/* - * Find the commondir and gitdir of the repository that contains the current - * working directory, without changing the working directory or other global - * state. The result is appended to commondir and gitdir. If the discovered - * gitdir does not correspond to a worktree, then 'commondir' and 'gitdir' will - * both have the same result appended to the buffer. The return value is - * either 0 upon success and non-zero if no repository was found. - */ -int discover_git_directory(struct strbuf *commondir, - struct strbuf *gitdir); -const char *setup_git_directory_gently(int *); -const char *setup_git_directory(void); -char *prefix_path(const char *prefix, int len, const char *path); -char *prefix_path_gently(const char *prefix, int len, int *remaining, const char *path); - -int check_filename(const char *prefix, const char *name); -void verify_filename(const char *prefix, - const char *name, - int diagnose_misspelt_rev); -void verify_non_filename(const char *prefix, const char *name); -int path_inside_repo(const char *prefix, const char *path); - #define INIT_DB_QUIET 0x0001 #define INIT_DB_EXIST_OK 0x0002 @@ -521,9 +460,6 @@ int init_db(const char *git_dir, const char *real_git_dir, const char *initial_branch, unsigned int flags); void initialize_repository_version(int hash_algo, int reinit); -void sanitize_stdfds(void); -int daemonize(void); - /* Initialize and use the cache information */ struct lock_file; void preload_index(struct index_state *index, @@ -807,79 +743,6 @@ enum fsync_method { extern enum fsync_method fsync_method; -/* - * GIT_REPO_VERSION is the version we write by default. The - * _READ variant is the highest number we know how to - * handle. - */ -#define GIT_REPO_VERSION 0 -#define GIT_REPO_VERSION_READ 1 - -/* - * You _have_ to initialize a `struct repository_format` using - * `= REPOSITORY_FORMAT_INIT` before calling `read_repository_format()`. - */ -struct repository_format { - int version; - int precious_objects; - char *partial_clone; /* value of extensions.partialclone */ - int worktree_config; - int is_bare; - int hash_algo; - int sparse_index; - char *work_tree; - struct string_list unknown_extensions; - struct string_list v1_only_extensions; -}; - -/* - * Always use this to initialize a `struct repository_format` - * to a well-defined, default state before calling - * `read_repository()`. - */ -#define REPOSITORY_FORMAT_INIT \ -{ \ - .version = -1, \ - .is_bare = -1, \ - .hash_algo = GIT_HASH_SHA1, \ - .unknown_extensions = STRING_LIST_INIT_DUP, \ - .v1_only_extensions = STRING_LIST_INIT_DUP, \ -} - -/* - * Read the repository format characteristics from the config file "path" into - * "format" struct. Returns the numeric version. On error, or if no version is - * found in the configuration, -1 is returned, format->version is set to -1, - * and all other fields in the struct are set to the default configuration - * (REPOSITORY_FORMAT_INIT). Always initialize the struct using - * REPOSITORY_FORMAT_INIT before calling this function. - */ -int read_repository_format(struct repository_format *format, const char *path); - -/* - * Free the memory held onto by `format`, but not the struct itself. - * (No need to use this after `read_repository_format()` fails.) - */ -void clear_repository_format(struct repository_format *format); - -/* - * Verify that the repository described by repository_format is something we - * can read. If it is, return 0. Otherwise, return -1, and "err" will describe - * any errors encountered. - */ -int verify_repository_format(const struct repository_format *format, - struct strbuf *err); - -/* - * Check the repository format version in the path found in get_git_dir(), - * and die if it is a version we don't understand. Generally one would - * set_git_dir() before calling this, and use it only for "are we in a valid - * repo?". - * - * If successful and fmt is not NULL, fill fmt with data. - */ -void check_repository_format(struct repository_format *fmt); - #define MTIME_CHANGED 0x0001 #define CTIME_CHANGED 0x0002 #define OWNER_CHANGED 0x0004 @@ -908,23 +771,6 @@ const char *repo_find_unique_abbrev(struct repository *r, const struct object_id int repo_find_unique_abbrev_r(struct repository *r, char *hex, const struct object_id *oid, int len); #define find_unique_abbrev_r(hex, oid, len) repo_find_unique_abbrev_r(the_repository, hex, oid, len) -/* - * NOTE NOTE NOTE!! - * - * PERM_UMASK, OLD_PERM_GROUP and OLD_PERM_EVERYBODY enumerations must - * not be changed. Old repositories have core.sharedrepository written in - * numeric format, and therefore these values are preserved for compatibility - * reasons. - */ -enum sharedrepo { - PERM_UMASK = 0, - OLD_PERM_GROUP = 1, - OLD_PERM_EVERYBODY = 2, - PERM_GROUP = 0660, - PERM_EVERYBODY = 0664 -}; -int git_config_perm(const char *var, const char *value); - /* * Create the directory containing the named path, using care to be * somewhat safe against races. Return one of the scld_error values to @@ -1283,15 +1129,6 @@ int ws_blank_line(const char *line, int len); void overlay_tree_on_index(struct index_state *istate, const char *tree_name, const char *prefix); -/* setup.c */ -struct startup_info { - int have_repository; - const char *prefix; - const char *original_cwd; -}; -extern struct startup_info *startup_info; -extern const char *tmp_original_cwd; - /* merge.c */ struct commit_list; int try_merge_command(struct repository *r, diff --git a/commit.c b/commit.c index f88fc5e1a2..3868f047f1 100644 --- a/commit.c +++ b/commit.c @@ -23,6 +23,7 @@ #include "refs.h" #include "commit-reach.h" #include "run-command.h" +#include "setup.h" #include "shallow.h" #include "hook.h" diff --git a/common-main.c b/common-main.c index 184d1534d2..b83cb5cf06 100644 --- a/common-main.c +++ b/common-main.c @@ -2,6 +2,7 @@ #include "exec-cmd.h" #include "gettext.h" #include "attr.h" +#include "setup.h" /* * Many parts of Git have subprograms communicate via pipe, expect the diff --git a/config.c b/config.c index 5b1a5d5205..03a4fcaba5 100644 --- a/config.c +++ b/config.c @@ -27,6 +27,7 @@ #include "color.h" #include "replace-object.h" #include "refs.h" +#include "setup.h" #include "worktree.h" #include "wrapper.h" diff --git a/daemon.c b/daemon.c index b56a8f9717..db8a31a6ea 100644 --- a/daemon.c +++ b/daemon.c @@ -5,6 +5,7 @@ #include "environment.h" #include "pkt-line.h" #include "run-command.h" +#include "setup.h" #include "strbuf.h" #include "string-list.h" #include "wrapper.h" diff --git a/diff.c b/diff.c index dcf1a94094..b858e59c5a 100644 --- a/diff.c +++ b/diff.c @@ -33,6 +33,7 @@ #include "help.h" #include "promisor-remote.h" #include "dir.h" +#include "setup.h" #include "strmap.h" #include "wrapper.h" diff --git a/dir.c b/dir.c index 06f8aa3c01..4cc2b1ead4 100644 --- a/dir.c +++ b/dir.c @@ -21,6 +21,7 @@ #include "varint.h" #include "ewah/ewok.h" #include "fsmonitor.h" +#include "setup.h" #include "submodule-config.h" #include "wrapper.h" diff --git a/environment.c b/environment.c index bf02f3cf48..649d16ac27 100644 --- a/environment.c +++ b/environment.c @@ -22,6 +22,7 @@ #include "replace-object.h" #include "tmp-objdir.h" #include "chdir-notify.h" +#include "setup.h" #include "shallow.h" #include "wrapper.h" diff --git a/git.c b/git.c index b24c105e83..77f920a6f6 100644 --- a/git.c +++ b/git.c @@ -7,6 +7,7 @@ #include "run-command.h" #include "alias.h" #include "replace-object.h" +#include "setup.h" #include "shallow.h" #define RUN_SETUP (1<<0) diff --git a/http-fetch.c b/http-fetch.c index 454933351b..c874d3402d 100644 --- a/http-fetch.c +++ b/http-fetch.c @@ -5,6 +5,7 @@ #include "hex.h" #include "http.h" #include "walker.h" +#include "setup.h" #include "strvec.h" #include "urlmatch.h" #include "trace2.h" diff --git a/http-push.c b/http-push.c index 40373bc486..e73864b51f 100644 --- a/http-push.c +++ b/http-push.c @@ -12,6 +12,7 @@ #include "exec-cmd.h" #include "remote.h" #include "list-objects.h" +#include "setup.h" #include "sigchain.h" #include "strvec.h" #include "packfile.h" diff --git a/imap-send.c b/imap-send.c index aa5b2f252d..a62424e90a 100644 --- a/imap-send.c +++ b/imap-send.c @@ -28,6 +28,7 @@ #include "gettext.h" #include "run-command.h" #include "parse-options.h" +#include "setup.h" #include "wrapper.h" #if defined(NO_OPENSSL) && !defined(HAVE_OPENSSL_CSPRNG) typedef void *SSL; diff --git a/line-log.c b/line-log.c index 6e7fc4b2e0..84c8093c51 100644 --- a/line-log.c +++ b/line-log.c @@ -16,6 +16,7 @@ #include "graph.h" #include "userdiff.h" #include "line-log.h" +#include "setup.h" #include "strvec.h" #include "bloom.h" diff --git a/mailmap.c b/mailmap.c index 2c6e9b238d..c24a16eaf4 100644 --- a/mailmap.c +++ b/mailmap.c @@ -3,6 +3,7 @@ #include "string-list.h" #include "mailmap.h" #include "object-store.h" +#include "setup.h" #define DEBUG_MAILMAP 0 #if DEBUG_MAILMAP diff --git a/object-file.c b/object-file.c index 3da6cd6886..05fff230f7 100644 --- a/object-file.c +++ b/object-file.c @@ -37,6 +37,7 @@ #include "packfile.h" #include "object-store.h" #include "promisor-remote.h" +#include "setup.h" #include "submodule.h" #include "fsck.h" #include "wrapper.h" diff --git a/object-name.c b/object-name.c index 3b0ce8ef05..ce973e0150 100644 --- a/object-name.c +++ b/object-name.c @@ -15,6 +15,7 @@ #include "packfile.h" #include "object-store.h" #include "repository.h" +#include "setup.h" #include "submodule.h" #include "midx.h" #include "commit-reach.h" diff --git a/path.c b/path.c index 5d5a15c13d..a170243497 100644 --- a/path.c +++ b/path.c @@ -11,6 +11,7 @@ #include "string-list.h" #include "dir.h" #include "worktree.h" +#include "setup.h" #include "submodule-config.h" #include "path.h" #include "packfile.h" diff --git a/pathspec.c b/pathspec.c index 5fb7b5f26c..6972d515f0 100644 --- a/pathspec.c +++ b/pathspec.c @@ -6,6 +6,7 @@ #include "gettext.h" #include "pathspec.h" #include "attr.h" +#include "setup.h" #include "strvec.h" #include "quote.h" diff --git a/refs.c b/refs.c index 04520e5a6b..21b317e815 100644 --- a/refs.c +++ b/refs.c @@ -22,6 +22,7 @@ #include "worktree.h" #include "strvec.h" #include "repository.h" +#include "setup.h" #include "sigchain.h" #include "date.h" #include "commit.h" diff --git a/refs/files-backend.c b/refs/files-backend.c index 0c3138ede8..d2b8925ebd 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -14,6 +14,7 @@ #include "../object.h" #include "../dir.h" #include "../chdir-notify.h" +#include "../setup.h" #include "../worktree.h" #include "../wrapper.h" diff --git a/remote-curl.c b/remote-curl.c index eb382a1e35..260ea200bb 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -18,6 +18,7 @@ #include "credential.h" #include "oid-array.h" #include "send-pack.h" +#include "setup.h" #include "protocol.h" #include "quote.h" #include "transport.h" diff --git a/remote.c b/remote.c index aeca3ff813..c29e2f5298 100644 --- a/remote.c +++ b/remote.c @@ -15,6 +15,7 @@ #include "revision.h" #include "dir.h" #include "tag.h" +#include "setup.h" #include "string-list.h" #include "strvec.h" #include "commit-reach.h" diff --git a/repository.c b/repository.c index 4412f63322..f6d9f5db08 100644 --- a/repository.c +++ b/repository.c @@ -11,6 +11,7 @@ #include "object.h" #include "lockfile.h" #include "remote.h" +#include "setup.h" #include "submodule-config.h" #include "sparse-index.h" #include "promisor-remote.h" diff --git a/revision.c b/revision.c index 53fdeef078..f98691a353 100644 --- a/revision.c +++ b/revision.c @@ -29,6 +29,7 @@ #include "bisect.h" #include "packfile.h" #include "worktree.h" +#include "setup.h" #include "strvec.h" #include "commit-reach.h" #include "commit-graph.h" diff --git a/scalar.c b/scalar.c index fe61a3ebdd..27635658c0 100644 --- a/scalar.c +++ b/scalar.c @@ -15,6 +15,7 @@ #include "dir.h" #include "packfile.h" #include "help.h" +#include "setup.h" static void setup_enlistment_directory(int argc, const char **argv, const char * const *usagestr, diff --git a/setup.c b/setup.c index cfdc849a78..6c5b85e96c 100644 --- a/setup.c +++ b/setup.c @@ -5,6 +5,7 @@ #include "repository.h" #include "config.h" #include "dir.h" +#include "setup.h" #include "string-list.h" #include "chdir-notify.h" #include "promisor-remote.h" diff --git a/setup.h b/setup.h new file mode 100644 index 0000000000..4c1ca9d0c9 --- /dev/null +++ b/setup.h @@ -0,0 +1,168 @@ +#ifndef SETUP_H +#define SETUP_H + +#include "string-list.h" + +int is_inside_git_dir(void); +int is_inside_work_tree(void); +int get_common_dir_noenv(struct strbuf *sb, const char *gitdir); +int get_common_dir(struct strbuf *sb, const char *gitdir); + +/* + * Return true if the given path is a git directory; note that this _just_ + * looks at the directory itself. If you want to know whether "foo/.git" + * is a repository, you must feed that path, not just "foo". + */ +int is_git_directory(const char *path); + +/* + * Return 1 if the given path is the root of a git repository or + * submodule, else 0. Will not return 1 for bare repositories with the + * exception of creating a bare repository in "foo/.git" and calling + * is_git_repository("foo"). + * + * If we run into read errors, we err on the side of saying "yes, it is", + * as we usually consider sub-repos precious, and would prefer to err on the + * side of not disrupting or deleting them. + */ +int is_nonbare_repository_dir(struct strbuf *path); + +#define READ_GITFILE_ERR_STAT_FAILED 1 +#define READ_GITFILE_ERR_NOT_A_FILE 2 +#define READ_GITFILE_ERR_OPEN_FAILED 3 +#define READ_GITFILE_ERR_READ_FAILED 4 +#define READ_GITFILE_ERR_INVALID_FORMAT 5 +#define READ_GITFILE_ERR_NO_PATH 6 +#define READ_GITFILE_ERR_NOT_A_REPO 7 +#define READ_GITFILE_ERR_TOO_LARGE 8 +void read_gitfile_error_die(int error_code, const char *path, const char *dir); +const char *read_gitfile_gently(const char *path, int *return_error_code); +#define read_gitfile(path) read_gitfile_gently((path), NULL) +const char *resolve_gitdir_gently(const char *suspect, int *return_error_code); +#define resolve_gitdir(path) resolve_gitdir_gently((path), NULL) + +void setup_work_tree(void); +/* + * Find the commondir and gitdir of the repository that contains the current + * working directory, without changing the working directory or other global + * state. The result is appended to commondir and gitdir. If the discovered + * gitdir does not correspond to a worktree, then 'commondir' and 'gitdir' will + * both have the same result appended to the buffer. The return value is + * either 0 upon success and non-zero if no repository was found. + */ +int discover_git_directory(struct strbuf *commondir, + struct strbuf *gitdir); +const char *setup_git_directory_gently(int *); +const char *setup_git_directory(void); +char *prefix_path(const char *prefix, int len, const char *path); +char *prefix_path_gently(const char *prefix, int len, int *remaining, const char *path); + +int check_filename(const char *prefix, const char *name); +void verify_filename(const char *prefix, + const char *name, + int diagnose_misspelt_rev); +void verify_non_filename(const char *prefix, const char *name); +int path_inside_repo(const char *prefix, const char *path); + +void sanitize_stdfds(void); +int daemonize(void); + +/* + * GIT_REPO_VERSION is the version we write by default. The + * _READ variant is the highest number we know how to + * handle. + */ +#define GIT_REPO_VERSION 0 +#define GIT_REPO_VERSION_READ 1 + +/* + * You _have_ to initialize a `struct repository_format` using + * `= REPOSITORY_FORMAT_INIT` before calling `read_repository_format()`. + */ +struct repository_format { + int version; + int precious_objects; + char *partial_clone; /* value of extensions.partialclone */ + int worktree_config; + int is_bare; + int hash_algo; + int sparse_index; + char *work_tree; + struct string_list unknown_extensions; + struct string_list v1_only_extensions; +}; + +/* + * Always use this to initialize a `struct repository_format` + * to a well-defined, default state before calling + * `read_repository()`. + */ +#define REPOSITORY_FORMAT_INIT \ +{ \ + .version = -1, \ + .is_bare = -1, \ + .hash_algo = GIT_HASH_SHA1, \ + .unknown_extensions = STRING_LIST_INIT_DUP, \ + .v1_only_extensions = STRING_LIST_INIT_DUP, \ +} + +/* + * Read the repository format characteristics from the config file "path" into + * "format" struct. Returns the numeric version. On error, or if no version is + * found in the configuration, -1 is returned, format->version is set to -1, + * and all other fields in the struct are set to the default configuration + * (REPOSITORY_FORMAT_INIT). Always initialize the struct using + * REPOSITORY_FORMAT_INIT before calling this function. + */ +int read_repository_format(struct repository_format *format, const char *path); + +/* + * Free the memory held onto by `format`, but not the struct itself. + * (No need to use this after `read_repository_format()` fails.) + */ +void clear_repository_format(struct repository_format *format); + +/* + * Verify that the repository described by repository_format is something we + * can read. If it is, return 0. Otherwise, return -1, and "err" will describe + * any errors encountered. + */ +int verify_repository_format(const struct repository_format *format, + struct strbuf *err); + +/* + * Check the repository format version in the path found in get_git_dir(), + * and die if it is a version we don't understand. Generally one would + * set_git_dir() before calling this, and use it only for "are we in a valid + * repo?". + * + * If successful and fmt is not NULL, fill fmt with data. + */ +void check_repository_format(struct repository_format *fmt); + +/* + * NOTE NOTE NOTE!! + * + * PERM_UMASK, OLD_PERM_GROUP and OLD_PERM_EVERYBODY enumerations must + * not be changed. Old repositories have core.sharedrepository written in + * numeric format, and therefore these values are preserved for compatibility + * reasons. + */ +enum sharedrepo { + PERM_UMASK = 0, + OLD_PERM_GROUP = 1, + OLD_PERM_EVERYBODY = 2, + PERM_GROUP = 0660, + PERM_EVERYBODY = 0664 +}; +int git_config_perm(const char *var, const char *value); + +struct startup_info { + int have_repository; + const char *prefix; + const char *original_cwd; +}; +extern struct startup_info *startup_info; +extern const char *tmp_original_cwd; + +#endif /* SETUP_H */ diff --git a/submodule.c b/submodule.c index acf030b95e..75e0d45cbc 100644 --- a/submodule.c +++ b/submodule.c @@ -26,6 +26,7 @@ #include "parse-options.h" #include "object-store.h" #include "commit-reach.h" +#include "setup.h" #include "shallow.h" static int config_update_recurse_submodules = RECURSE_SUBMODULES_OFF; diff --git a/symlinks.c b/symlinks.c index c35c8d4408..27ecc93693 100644 --- a/symlinks.c +++ b/symlinks.c @@ -1,5 +1,6 @@ #include "cache.h" #include "gettext.h" +#include "setup.h" static int threaded_check_leading_path(struct cache_def *cache, const char *name, int len, int warn_on_lstat_err); diff --git a/t/helper/test-advise.c b/t/helper/test-advise.c index cb881139f7..4e6ed30afa 100644 --- a/t/helper/test-advise.c +++ b/t/helper/test-advise.c @@ -2,6 +2,7 @@ #include "cache.h" #include "advice.h" #include "config.h" +#include "setup.h" int cmd__advise_if_enabled(int argc, const char **argv) { diff --git a/t/helper/test-bitmap.c b/t/helper/test-bitmap.c index 5bb489882d..af43ee1cb5 100644 --- a/t/helper/test-bitmap.c +++ b/t/helper/test-bitmap.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "git-compat-util.h" #include "pack-bitmap.h" +#include "setup.h" static int bitmap_list_commits(void) { diff --git a/t/helper/test-bloom.c b/t/helper/test-bloom.c index 127f134a2a..e5754b8da6 100644 --- a/t/helper/test-bloom.c +++ b/t/helper/test-bloom.c @@ -3,6 +3,7 @@ #include "hex.h" #include "test-tool.h" #include "commit.h" +#include "setup.h" static struct bloom_filter_settings settings = DEFAULT_BLOOM_FILTER_SETTINGS; diff --git a/t/helper/test-cache-tree.c b/t/helper/test-cache-tree.c index 8b7a8fce1e..cdaf5046f5 100644 --- a/t/helper/test-cache-tree.c +++ b/t/helper/test-cache-tree.c @@ -6,6 +6,7 @@ #include "tree.h" #include "cache-tree.h" #include "parse-options.h" +#include "setup.h" static char const * const test_cache_tree_usage[] = { N_("test-tool cache-tree (control|prime|update)"), diff --git a/t/helper/test-config.c b/t/helper/test-config.c index 4ba9eb6560..5877188f3a 100644 --- a/t/helper/test-config.c +++ b/t/helper/test-config.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "config.h" +#include "setup.h" #include "string-list.h" /* diff --git a/t/helper/test-dump-cache-tree.c b/t/helper/test-dump-cache-tree.c index 92dfc1aa8c..715aabfbae 100644 --- a/t/helper/test-dump-cache-tree.c +++ b/t/helper/test-dump-cache-tree.c @@ -4,7 +4,7 @@ #include "hex.h" #include "tree.h" #include "cache-tree.h" - +#include "setup.h" static void dump_one(struct cache_tree *it, const char *pfx, const char *x) { diff --git a/t/helper/test-dump-fsmonitor.c b/t/helper/test-dump-fsmonitor.c index 975f0ac890..7e9de296db 100644 --- a/t/helper/test-dump-fsmonitor.c +++ b/t/helper/test-dump-fsmonitor.c @@ -1,5 +1,6 @@ #include "test-tool.h" #include "cache.h" +#include "setup.h" int cmd__dump_fsmonitor(int ac, const char **av) { diff --git a/t/helper/test-dump-split-index.c b/t/helper/test-dump-split-index.c index 813d0a38fa..289a01c10a 100644 --- a/t/helper/test-dump-split-index.c +++ b/t/helper/test-dump-split-index.c @@ -2,6 +2,7 @@ #include "test-tool.h" #include "cache.h" #include "hex.h" +#include "setup.h" #include "split-index.h" #include "ewah/ewok.h" diff --git a/t/helper/test-dump-untracked-cache.c b/t/helper/test-dump-untracked-cache.c index af953fabe8..415f55f31d 100644 --- a/t/helper/test-dump-untracked-cache.c +++ b/t/helper/test-dump-untracked-cache.c @@ -3,6 +3,7 @@ #include "cache.h" #include "dir.h" #include "hex.h" +#include "setup.h" static int compare_untracked(const void *a_, const void *b_) { diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c index 627a6bdc3d..e402c35a70 100644 --- a/t/helper/test-fast-rebase.c +++ b/t/helper/test-fast-rebase.c @@ -23,6 +23,7 @@ #include "refs.h" #include "revision.h" #include "sequencer.h" +#include "setup.h" #include "strvec.h" #include "tree.h" diff --git a/t/helper/test-fsmonitor-client.c b/t/helper/test-fsmonitor-client.c index c43fc976b8..a37236cd0a 100644 --- a/t/helper/test-fsmonitor-client.c +++ b/t/helper/test-fsmonitor-client.c @@ -7,6 +7,7 @@ #include "cache.h" #include "parse-options.h" #include "fsmonitor-ipc.h" +#include "setup.h" #include "thread-utils.h" #include "trace2.h" #include "wrapper.h" diff --git a/t/helper/test-lazy-init-name-hash.c b/t/helper/test-lazy-init-name-hash.c index 2b678a4579..06ce3a47cc 100644 --- a/t/helper/test-lazy-init-name-hash.c +++ b/t/helper/test-lazy-init-name-hash.c @@ -3,6 +3,7 @@ #include "cache.h" #include "environment.h" #include "parse-options.h" +#include "setup.h" static int single; static int multi; diff --git a/t/helper/test-match-trees.c b/t/helper/test-match-trees.c index 04bc2563f3..64705734df 100644 --- a/t/helper/test-match-trees.c +++ b/t/helper/test-match-trees.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "hex.h" +#include "setup.h" #include "tree.h" int cmd__match_trees(int ac, const char **av) diff --git a/t/helper/test-oid-array.c b/t/helper/test-oid-array.c index 0906993ad5..fd6f73ea03 100644 --- a/t/helper/test-oid-array.c +++ b/t/helper/test-oid-array.c @@ -2,6 +2,7 @@ #include "cache.h" #include "hex.h" #include "oid-array.h" +#include "setup.h" static int print_oid(const struct object_id *oid, void *data) { diff --git a/t/helper/test-oidmap.c b/t/helper/test-oidmap.c index 883d40efd4..f1b3dbe376 100644 --- a/t/helper/test-oidmap.c +++ b/t/helper/test-oidmap.c @@ -2,6 +2,7 @@ #include "cache.h" #include "hex.h" #include "oidmap.h" +#include "setup.h" #include "strbuf.h" /* key is an oid and value is a name (could be a refname for example) */ diff --git a/t/helper/test-oidtree.c b/t/helper/test-oidtree.c index 0b82431a70..edcb7e9f44 100644 --- a/t/helper/test-oidtree.c +++ b/t/helper/test-oidtree.c @@ -2,6 +2,7 @@ #include "cache.h" #include "hex.h" #include "oidtree.h" +#include "setup.h" static enum cb_next print_oid(const struct object_id *oid, void *data) { diff --git a/t/helper/test-pack-mtimes.c b/t/helper/test-pack-mtimes.c index 0e53dee9e5..75ca1505a3 100644 --- a/t/helper/test-pack-mtimes.c +++ b/t/helper/test-pack-mtimes.c @@ -5,6 +5,7 @@ #include "object-store.h" #include "packfile.h" #include "pack-mtimes.h" +#include "setup.h" static void dump_mtimes(struct packed_git *p) { diff --git a/t/helper/test-partial-clone.c b/t/helper/test-partial-clone.c index da17fd37eb..cce496944a 100644 --- a/t/helper/test-partial-clone.c +++ b/t/helper/test-partial-clone.c @@ -3,6 +3,7 @@ #include "test-tool.h" #include "repository.h" #include "object-store.h" +#include "setup.h" /* * Prints the size of the object corresponding to the given hash in a specific diff --git a/t/helper/test-path-utils.c b/t/helper/test-path-utils.c index cc266e3ec0..4f5ac2fadc 100644 --- a/t/helper/test-path-utils.c +++ b/t/helper/test-path-utils.c @@ -2,6 +2,7 @@ #include "cache.h" #include "abspath.h" #include "environment.h" +#include "setup.h" #include "string-list.h" #include "utf8.h" diff --git a/t/helper/test-proc-receive.c b/t/helper/test-proc-receive.c index 7e12d4f9aa..7c8de7b562 100644 --- a/t/helper/test-proc-receive.c +++ b/t/helper/test-proc-receive.c @@ -3,6 +3,7 @@ #include "hex.h" #include "parse-options.h" #include "pkt-line.h" +#include "setup.h" #include "sigchain.h" #include "test-tool.h" diff --git a/t/helper/test-reach.c b/t/helper/test-reach.c index 09c711038c..91bb2dec1d 100644 --- a/t/helper/test-reach.c +++ b/t/helper/test-reach.c @@ -8,6 +8,7 @@ #include "hex.h" #include "parse-options.h" #include "ref-filter.h" +#include "setup.h" #include "string-list.h" #include "tag.h" diff --git a/t/helper/test-read-cache.c b/t/helper/test-read-cache.c index 84818363d5..a4c24d0e42 100644 --- a/t/helper/test-read-cache.c +++ b/t/helper/test-read-cache.c @@ -2,6 +2,7 @@ #include "test-tool.h" #include "cache.h" #include "config.h" +#include "setup.h" #include "wrapper.h" int cmd__read_cache(int argc, const char **argv) diff --git a/t/helper/test-read-graph.c b/t/helper/test-read-graph.c index 98b73bb8f2..e21b0805f3 100644 --- a/t/helper/test-read-graph.c +++ b/t/helper/test-read-graph.c @@ -4,6 +4,7 @@ #include "repository.h" #include "object-store.h" #include "bloom.h" +#include "setup.h" int cmd__read_graph(int argc, const char **argv) { diff --git a/t/helper/test-read-midx.c b/t/helper/test-read-midx.c index 0a883cdf26..05c4f2b262 100644 --- a/t/helper/test-read-midx.c +++ b/t/helper/test-read-midx.c @@ -5,6 +5,7 @@ #include "repository.h" #include "object-store.h" #include "pack-bitmap.h" +#include "setup.h" static int read_midx_file(const char *object_dir, int show_objects) { diff --git a/t/helper/test-ref-store.c b/t/helper/test-ref-store.c index 1745b088b7..8717b95e84 100644 --- a/t/helper/test-ref-store.c +++ b/t/helper/test-ref-store.c @@ -2,6 +2,7 @@ #include "cache.h" #include "hex.h" #include "refs.h" +#include "setup.h" #include "worktree.h" #include "object-store.h" #include "repository.h" diff --git a/t/helper/test-repository.c b/t/helper/test-repository.c index c444775eb0..6774f6245f 100644 --- a/t/helper/test-repository.c +++ b/t/helper/test-repository.c @@ -8,6 +8,7 @@ #include "object-store.h" #include "object.h" #include "repository.h" +#include "setup.h" #include "tree.h" static void test_parse_commit_in_graph(const char *gitdir, const char *worktree, diff --git a/t/helper/test-revision-walking.c b/t/helper/test-revision-walking.c index 4a45d5bac2..f2df433406 100644 --- a/t/helper/test-revision-walking.c +++ b/t/helper/test-revision-walking.c @@ -13,6 +13,7 @@ #include "commit.h" #include "diff.h" #include "revision.h" +#include "setup.h" static void print_commit(struct commit *commit) { diff --git a/t/helper/test-scrap-cache-tree.c b/t/helper/test-scrap-cache-tree.c index a26107ed70..15b7688774 100644 --- a/t/helper/test-scrap-cache-tree.c +++ b/t/helper/test-scrap-cache-tree.c @@ -2,6 +2,7 @@ #include "test-tool.h" #include "cache.h" #include "lockfile.h" +#include "setup.h" #include "tree.h" #include "cache-tree.h" diff --git a/t/helper/test-serve-v2.c b/t/helper/test-serve-v2.c index 497d72058d..7d590ab722 100644 --- a/t/helper/test-serve-v2.c +++ b/t/helper/test-serve-v2.c @@ -3,6 +3,7 @@ #include "gettext.h" #include "parse-options.h" #include "serve.h" +#include "setup.h" static char const * const serve_usage[] = { N_("test-tool serve-v2 []"), diff --git a/t/helper/test-submodule-config.c b/t/helper/test-submodule-config.c index 22a41c4092..256bfa6e9e 100644 --- a/t/helper/test-submodule-config.c +++ b/t/helper/test-submodule-config.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "config.h" +#include "setup.h" #include "submodule-config.h" #include "submodule.h" diff --git a/t/helper/test-submodule-nested-repo-config.c b/t/helper/test-submodule-nested-repo-config.c index a3848a8b66..aaffd422d6 100644 --- a/t/helper/test-submodule-nested-repo-config.c +++ b/t/helper/test-submodule-nested-repo-config.c @@ -1,5 +1,6 @@ #include "test-tool.h" #include "cache.h" +#include "setup.h" #include "submodule-config.h" static void die_usage(const char **argv, const char *msg) diff --git a/t/helper/test-submodule.c b/t/helper/test-submodule.c index e060cc6226..f18ca46dce 100644 --- a/t/helper/test-submodule.c +++ b/t/helper/test-submodule.c @@ -3,6 +3,7 @@ #include "cache.h" #include "parse-options.h" #include "remote.h" +#include "setup.h" #include "submodule-config.h" #include "submodule.h" diff --git a/t/helper/test-subprocess.c b/t/helper/test-subprocess.c index ff22f2fa2c..65a355cc59 100644 --- a/t/helper/test-subprocess.c +++ b/t/helper/test-subprocess.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "run-command.h" +#include "setup.h" int cmd__subprocess(int argc, const char **argv) { diff --git a/t/helper/test-userdiff.c b/t/helper/test-userdiff.c index a2b56b9cae..0cd7ee12b7 100644 --- a/t/helper/test-userdiff.c +++ b/t/helper/test-userdiff.c @@ -1,5 +1,6 @@ #include "test-tool.h" #include "cache.h" +#include "setup.h" #include "userdiff.h" #include "config.h" diff --git a/t/helper/test-write-cache.c b/t/helper/test-write-cache.c index 7d45cd61e8..a93417ed3a 100644 --- a/t/helper/test-write-cache.c +++ b/t/helper/test-write-cache.c @@ -2,6 +2,7 @@ #include "test-tool.h" #include "cache.h" #include "lockfile.h" +#include "setup.h" int cmd__write_cache(int argc, const char **argv) { diff --git a/trace.c b/trace.c index 9c85b71ec6..81318a2455 100644 --- a/trace.c +++ b/trace.c @@ -25,6 +25,7 @@ #include "abspath.h" #include "environment.h" #include "quote.h" +#include "setup.h" #include "wrapper.h" struct trace_key trace_default_key = { "GIT_TRACE", 0, 0, 0 }; diff --git a/unpack-trees.c b/unpack-trees.c index 0ff4bbc6b9..a26fda3493 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -22,6 +22,7 @@ #include "promisor-remote.h" #include "entry.h" #include "parallel-checkout.h" +#include "setup.h" /* * Error messages expected by scripts out of plumbing commands such as diff --git a/worktree.c b/worktree.c index c2671b0cdf..7f0f04eab5 100644 --- a/worktree.c +++ b/worktree.c @@ -5,6 +5,7 @@ #include "gettext.h" #include "repository.h" #include "refs.h" +#include "setup.h" #include "strbuf.h" #include "worktree.h" #include "dir.h" diff --git a/wt-status.c b/wt-status.c index 106e46480a..16e0df5736 100644 --- a/wt-status.c +++ b/wt-status.c @@ -16,6 +16,7 @@ #include "refs.h" #include "submodule.h" #include "column.h" +#include "setup.h" #include "strbuf.h" #include "utf8.h" #include "worktree.h" -- cgit 1.2.3-korg From d850b7a545fcfbd97460a921c7f7c59d933eb0f7 Mon Sep 17 00:00:00 2001 From: Ævar Arnfjörð Bjarmason Date: Tue, 28 Mar 2023 15:58:46 +0200 Subject: cocci: apply the "cache.h" part of "the_repository.pending" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apply the part of "the_repository.pending.cocci" pertaining to "cache.h". Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- add-patch.c | 2 +- apply.c | 4 +- archive.c | 2 +- branch.c | 2 +- builtin/am.c | 16 ++++---- builtin/bisect.c | 19 ++++----- builtin/blame.c | 9 +++-- builtin/branch.c | 2 +- builtin/checkout.c | 16 ++++---- builtin/commit-tree.c | 4 +- builtin/commit.c | 8 ++-- builtin/describe.c | 5 ++- builtin/fast-import.c | 8 ++-- builtin/fetch.c | 2 +- builtin/fsck.c | 2 +- builtin/log.c | 8 ++-- builtin/ls-files.c | 4 +- builtin/ls-tree.c | 9 +++-- builtin/merge-base.c | 4 +- builtin/merge-recursive.c | 6 +-- builtin/merge.c | 10 ++--- builtin/name-rev.c | 7 ++-- builtin/notes.c | 22 +++++------ builtin/prune.c | 2 +- builtin/pull.c | 4 +- builtin/range-diff.c | 12 +++--- builtin/read-tree.c | 2 +- builtin/rebase.c | 12 +++--- builtin/receive-pack.c | 10 ++--- builtin/replace.c | 16 ++++---- builtin/reset.c | 19 ++++----- builtin/rev-list.c | 2 +- builtin/rev-parse.c | 12 +++--- builtin/rm.c | 2 +- builtin/show-branch.c | 12 +++--- builtin/show-ref.c | 4 +- builtin/sparse-checkout.c | 2 +- builtin/stash.c | 13 ++++--- builtin/submodule--helper.c | 4 +- builtin/tag.c | 6 +-- builtin/unpack-file.c | 2 +- builtin/update-ref.c | 8 ++-- builtin/verify-commit.c | 2 +- builtin/verify-tag.c | 2 +- builtin/worktree.c | 8 ++-- cache.h | 15 -------- checkout.c | 2 +- combine-diff.c | 6 +-- commit.c | 10 +++-- contrib/coccinelle/the_repository.cocci | 44 +++++++++++++++++++++ contrib/coccinelle/the_repository.pending.cocci | 37 ------------------ diff-lib.c | 2 +- diff.c | 4 +- fmt-merge-msg.c | 4 +- log-tree.c | 15 +++++--- mailmap.c | 2 +- notes-merge.c | 2 +- notes.c | 6 +-- object-name.c | 5 ++- parse-options-cb.c | 8 ++-- range-diff.c | 8 ++-- read-cache.c | 2 +- rebase-interactive.c | 2 +- ref-filter.c | 8 ++-- remote.c | 6 +-- reset.c | 4 +- revision.c | 11 +++--- sequencer.c | 51 +++++++++++++------------ submodule-config.c | 2 +- submodule.c | 8 ++-- t/helper/test-fast-rebase.c | 10 +++-- t/helper/test-match-trees.c | 4 +- t/helper/test-oidmap.c | 6 +-- t/helper/test-reach.c | 2 +- t/helper/test-submodule-config.c | 2 +- tag.c | 4 +- transport-helper.c | 2 +- transport.c | 3 +- wt-status.c | 18 ++++----- 79 files changed, 332 insertions(+), 310 deletions(-) create mode 100644 contrib/coccinelle/the_repository.cocci (limited to 'commit.c') diff --git a/add-patch.c b/add-patch.c index a86a92e164..3cbb959194 100644 --- a/add-patch.c +++ b/add-patch.c @@ -414,7 +414,7 @@ static int parse_diff(struct add_p_state *s, const struct pathspec *ps) strvec_push(&args, /* could be on an unborn branch */ !strcmp("HEAD", s->revision) && - get_oid("HEAD", &oid) ? + repo_get_oid(the_repository, "HEAD", &oid) ? empty_tree_oid_hex() : s->revision); } color_arg_index = args.nr; diff --git a/apply.c b/apply.c index 5cc5479c9c..57f45cedd2 100644 --- a/apply.c +++ b/apply.c @@ -3610,7 +3610,7 @@ static int try_threeway(struct apply_state *state, /* Preimage the patch was prepared for */ if (patch->is_new) write_object_file("", 0, OBJ_BLOB, &pre_oid); - else if (get_oid(patch->old_oid_prefix, &pre_oid) || + else if (repo_get_oid(the_repository, patch->old_oid_prefix, &pre_oid) || read_blob_object(&buf, &pre_oid, patch->old_mode)) return error(_("repository lacks the necessary blob to perform 3-way merge.")); @@ -4127,7 +4127,7 @@ static int build_fake_ancestor(struct apply_state *state, struct patch *list) else return error(_("sha1 information is lacking or " "useless for submodule %s"), name); - } else if (!get_oid_blob(patch->old_oid_prefix, &oid)) { + } else if (!repo_get_oid_blob(the_repository, patch->old_oid_prefix, &oid)) { ; /* ok */ } else if (!patch->lines_added && !patch->lines_deleted) { /* mode-only change: update the current */ diff --git a/archive.c b/archive.c index 9aeaf2bd87..732e210054 100644 --- a/archive.c +++ b/archive.c @@ -461,7 +461,7 @@ static void parse_treeish_arg(const char **argv, dwim_ref(name, strlen(name), &oid, &ref, 0); } - if (get_oid(name, &oid)) + if (repo_get_oid(the_repository, name, &oid)) die(_("not a valid object name: %s"), name); commit = lookup_commit_reference_gently(ar_args->repo, &oid, 1); diff --git a/branch.c b/branch.c index e5614b53b3..2efb5fbaa5 100644 --- a/branch.c +++ b/branch.c @@ -531,7 +531,7 @@ static void dwim_branch_start(struct repository *r, const char *start_name, explicit_tracking = 1; real_ref = NULL; - if (get_oid_mb(start_name, &oid)) { + if (repo_get_oid_mb(the_repository, start_name, &oid)) { if (explicit_tracking) { int code = die_message(_(upstream_missing), start_name); advise_if_enabled(ADVICE_SET_UPSTREAM_FAILURE, diff --git a/builtin/am.c b/builtin/am.c index e0848ddadf..c04038f1f3 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -1066,7 +1066,7 @@ static void am_setup(struct am_state *state, enum patch_format patch_format, else write_state_text(state, "applying", ""); - if (!get_oid("HEAD", &curr_head)) { + if (!repo_get_oid(the_repository, "HEAD", &curr_head)) { write_state_text(state, "abort-safety", oid_to_hex(&curr_head)); if (!state->rebasing) update_ref("am", "ORIG_HEAD", &curr_head, NULL, 0, @@ -1109,7 +1109,7 @@ static void am_next(struct am_state *state) unlink(am_path(state, "original-commit")); delete_ref(NULL, "REBASE_HEAD", NULL, REF_NO_DEREF); - if (!get_oid("HEAD", &head)) + if (!repo_get_oid(the_repository, "HEAD", &head)) write_state_text(state, "abort-safety", oid_to_hex(&head)); else write_state_text(state, "abort-safety", ""); @@ -1402,7 +1402,7 @@ static void write_index_patch(const struct am_state *state) struct rev_info rev_info; FILE *fp; - if (!get_oid("HEAD", &head)) { + if (!repo_get_oid(the_repository, "HEAD", &head)) { struct commit *commit = lookup_commit_or_die(&head, "HEAD"); tree = get_commit_tree(commit); } else @@ -1556,7 +1556,7 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa struct commit *result; char *their_tree_name; - if (get_oid("HEAD", &our_tree) < 0) + if (repo_get_oid(the_repository, "HEAD", &our_tree) < 0) oidcpy(&our_tree, the_hash_algo->empty_tree); if (build_fake_ancestor(state, index_path)) @@ -1646,7 +1646,7 @@ static void do_commit(const struct am_state *state) if (write_index_as_tree(&tree, &the_index, get_index_file(), 0, NULL)) die(_("git write-tree failed to write a tree")); - if (!get_oid_commit("HEAD", &parent)) { + if (!repo_get_oid_commit(the_repository, "HEAD", &parent)) { old_oid = &parent; commit_list_insert(lookup_commit(the_repository, &parent), &parents); @@ -2088,7 +2088,7 @@ static void am_skip(struct am_state *state) am_rerere_clear(); - if (get_oid("HEAD", &head)) + if (repo_get_oid(the_repository, "HEAD", &head)) oidcpy(&head, the_hash_algo->empty_tree); if (clean_index(&head, &head)) @@ -2130,7 +2130,7 @@ static int safe_to_abort(const struct am_state *state) oidclr(&abort_safety); strbuf_release(&sb); - if (get_oid("HEAD", &head)) + if (repo_get_oid(the_repository, "HEAD", &head)) oidclr(&head); if (oideq(&head, &abort_safety)) @@ -2163,7 +2163,7 @@ static void am_abort(struct am_state *state) if (!has_curr_head) oidcpy(&curr_head, the_hash_algo->empty_tree); - has_orig_head = !get_oid("ORIG_HEAD", &orig_head); + has_orig_head = !repo_get_oid(the_repository, "ORIG_HEAD", &orig_head); if (!has_orig_head) oidcpy(&orig_head, the_hash_algo->empty_tree); diff --git a/builtin/bisect.c b/builtin/bisect.c index 7301740267..7d51eecab8 100644 --- a/builtin/bisect.c +++ b/builtin/bisect.c @@ -235,7 +235,7 @@ static int bisect_reset(const char *commit) } else { struct object_id oid; - if (get_oid_commit(commit, &oid)) + if (repo_get_oid_commit(the_repository, commit, &oid)) return error(_("'%s' is not a valid commit"), commit); strbuf_addstr(&branch, commit); } @@ -292,7 +292,7 @@ static int bisect_write(const char *state, const char *rev, goto finish; } - if (get_oid(rev, &oid)) { + if (repo_get_oid(the_repository, rev, &oid)) { res = error(_("couldn't get the oid of the rev '%s'"), rev); goto finish; } @@ -775,7 +775,7 @@ static enum bisect_error bisect_start(struct bisect_terms *terms, int argc, */ head = resolve_ref_unsafe("HEAD", 0, &head_oid, &flags); if (!head) - if (get_oid("HEAD", &head_oid)) + if (repo_get_oid(the_repository, "HEAD", &head_oid)) return error(_("bad HEAD - I need a HEAD")); /* @@ -801,11 +801,11 @@ static enum bisect_error bisect_start(struct bisect_terms *terms, int argc, } } else { /* Get the rev from where we start. */ - if (!get_oid(head, &head_oid) && + if (!repo_get_oid(the_repository, head, &head_oid) && !starts_with(head, "refs/heads/")) { strbuf_reset(&start_head); strbuf_addstr(&start_head, oid_to_hex(&head_oid)); - } else if (!get_oid(head, &head_oid) && + } else if (!repo_get_oid(the_repository, head, &head_oid) && skip_prefix(head, "refs/heads/", &head)) { strbuf_addstr(&start_head, head); } else { @@ -828,7 +828,7 @@ static enum bisect_error bisect_start(struct bisect_terms *terms, int argc, write_file(git_path_bisect_first_parent(), "\n"); if (no_checkout) { - if (get_oid(start_head.buf, &oid) < 0) { + if (repo_get_oid(the_repository, start_head.buf, &oid) < 0) { res = error(_("invalid ref: '%s'"), start_head.buf); goto finish; } @@ -933,11 +933,12 @@ static enum bisect_error bisect_state(struct bisect_terms *terms, int argc, if (argc == 0) { const char *head = "BISECT_HEAD"; - enum get_oid_result res_head = get_oid(head, &oid); + enum get_oid_result res_head = repo_get_oid(the_repository, + head, &oid); if (res_head == MISSING_OBJECT) { head = "HEAD"; - res_head = get_oid(head, &oid); + res_head = repo_get_oid(the_repository, head, &oid); } if (res_head) @@ -953,7 +954,7 @@ static enum bisect_error bisect_state(struct bisect_terms *terms, int argc, for (; argc; argc--, argv++) { struct commit *commit; - if (get_oid(*argv, &oid)){ + if (repo_get_oid(the_repository, *argv, &oid)){ error(_("Bad rev input: %s"), *argv); oid_array_clear(&revs); return BISECT_FAILED; diff --git a/builtin/blame.c b/builtin/blame.c index 71f925e456..0155062de1 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -601,8 +601,9 @@ static int read_ancestry(const char *graft_file) static int update_auto_abbrev(int auto_abbrev, struct blame_origin *suspect) { - const char *uniq = find_unique_abbrev(&suspect->commit->object.oid, - auto_abbrev); + const char *uniq = repo_find_unique_abbrev(the_repository, + &suspect->commit->object.oid, + auto_abbrev); int len = strlen(uniq); if (auto_abbrev < len) return len; @@ -802,7 +803,7 @@ static int is_a_rev(const char *name) { struct object_id oid; - if (get_oid(name, &oid)) + if (repo_get_oid(the_repository, name, &oid)) return 0; return OBJ_NONE < oid_object_info(the_repository, &oid, NULL); } @@ -845,7 +846,7 @@ static void build_ignorelist(struct blame_scoreboard *sb, peel_to_commit_oid, sb); } for_each_string_list_item(i, ignore_rev_list) { - if (get_oid_committish(i->string, &oid) || + if (repo_get_oid_committish(the_repository, i->string, &oid) || peel_to_commit_oid(&oid, sb)) die(_("cannot find revision %s to ignore"), i->string); oidset_insert(&sb->ignore_list, &oid); diff --git a/builtin/branch.c b/builtin/branch.c index f63fd45edb..968ea03c05 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -280,7 +280,7 @@ static int delete_branches(int argc, const char **argv, int force, int kinds, item = string_list_append(&refs_to_delete, name); item->util = xstrdup((flags & REF_ISBROKEN) ? "broken" : (flags & REF_ISSYMREF) ? target - : find_unique_abbrev(&oid, DEFAULT_ABBREV)); + : repo_find_unique_abbrev(the_repository, &oid, DEFAULT_ABBREV)); next: free(target); diff --git a/builtin/checkout.c b/builtin/checkout.c index a5155cf55c..6216bb6bba 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -432,8 +432,8 @@ static int checkout_worktree(const struct checkout_opts *opts, "Updated %d paths from %s", nr_checkouts), nr_checkouts, - find_unique_abbrev(&opts->source_tree->object.oid, - DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &opts->source_tree->object.oid, + DEFAULT_ABBREV)); else if (!nr_unmerged || nr_checkouts) fprintf_ln(stderr, Q_("Updated %d path from the index", "Updated %d paths from the index", @@ -644,10 +644,12 @@ static void describe_detached_head(const char *msg, struct commit *commit) pp_commit_easy(CMIT_FMT_ONELINE, commit, &sb); if (print_sha1_ellipsis()) { fprintf(stderr, "%s %s... %s\n", msg, - find_unique_abbrev(&commit->object.oid, DEFAULT_ABBREV), sb.buf); + repo_find_unique_abbrev(the_repository, &commit->object.oid, DEFAULT_ABBREV), + sb.buf); } else { fprintf(stderr, "%s %s %s\n", msg, - find_unique_abbrev(&commit->object.oid, DEFAULT_ABBREV), sb.buf); + repo_find_unique_abbrev(the_repository, &commit->object.oid, DEFAULT_ABBREV), + sb.buf); } strbuf_release(&sb); } @@ -1060,7 +1062,7 @@ static void suggest_reattach(struct commit *commit, struct rev_info *revs) " git branch %s\n\n", /* Give ngettext() the count */ lost), - find_unique_abbrev(&commit->object.oid, DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &commit->object.oid, DEFAULT_ABBREV)); } /* @@ -1322,7 +1324,7 @@ static int parse_branchname_arg(int argc, const char **argv, if (!strcmp(arg, "-")) arg = "@{-1}"; - if (get_oid_mb(arg, rev)) { + if (repo_get_oid_mb(the_repository, arg, rev)) { /* * Either case (3) or (4), with not being * a commit, or an attempt to use case (1) with an @@ -1748,7 +1750,7 @@ static int checkout_main(int argc, const char **argv, const char *prefix, } else if (!opts->accept_ref && opts->from_treeish) { struct object_id rev; - if (get_oid_mb(opts->from_treeish, &rev)) + if (repo_get_oid_mb(the_repository, opts->from_treeish, &rev)) die(_("could not resolve %s"), opts->from_treeish); setup_new_branch_info_and_source_tree(new_branch_info, diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c index cc8d584be2..7941512c19 100644 --- a/builtin/commit-tree.c +++ b/builtin/commit-tree.c @@ -53,7 +53,7 @@ static int parse_parent_arg_callback(const struct option *opt, BUG_ON_OPT_NEG_NOARG(unset, arg); - if (get_oid_commit(arg, &oid)) + if (repo_get_oid_commit(the_repository, arg, &oid)) die(_("not a valid object name %s"), arg); assert_oid_type(&oid, OBJ_COMMIT); @@ -131,7 +131,7 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix) if (argc != 1) die(_("must give exactly one tree")); - if (get_oid_tree(argv[0], &tree_oid)) + if (repo_get_oid_tree(the_repository, argv[0], &tree_oid)) die(_("not a valid object name %s"), argv[0]); if (!buffer.len) { diff --git a/builtin/commit.c b/builtin/commit.c index 985a0445b7..80d1e31f25 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -557,7 +557,7 @@ static int run_status(FILE *fp, const char *index_file, const char *prefix, int s->index_file = index_file; s->fp = fp; s->nowarn = nowarn; - s->is_initial = get_oid(s->reference, &oid) ? 1 : 0; + s->is_initial = repo_get_oid(the_repository, s->reference, &oid) ? 1 : 0; if (!s->is_initial) oidcpy(&s->oid_commit, &oid); s->status_format = status_format; @@ -1000,7 +1000,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix, if (amend) parent = "HEAD^1"; - if (get_oid(parent, &oid)) { + if (repo_get_oid(the_repository, parent, &oid)) { int i, ita_nr = 0; /* TODO: audit for interaction with sparse-index. */ @@ -1567,7 +1567,7 @@ int cmd_status(int argc, const char **argv, const char *prefix) else fd = -1; - s.is_initial = get_oid(s.reference, &oid) ? 1 : 0; + s.is_initial = repo_get_oid(the_repository, s.reference, &oid) ? 1 : 0; if (!s.is_initial) oidcpy(&s.oid_commit, &oid); @@ -1714,7 +1714,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix) status_format = STATUS_FORMAT_NONE; /* Ignore status.short */ s.colopts = 0; - if (get_oid("HEAD", &oid)) + if (repo_get_oid(the_repository, "HEAD", &oid)) current_head = NULL; else { current_head = lookup_commit_or_die(&oid, "HEAD"); diff --git a/builtin/describe.c b/builtin/describe.c index eea1e330c0..c85bf9c418 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -298,7 +298,8 @@ static void append_name(struct commit_name *n, struct strbuf *dst) static void append_suffix(int depth, const struct object_id *oid, struct strbuf *dst) { - strbuf_addf(dst, "-%d-g%s", depth, find_unique_abbrev(oid, abbrev)); + strbuf_addf(dst, "-%d-g%s", depth, + repo_find_unique_abbrev(the_repository, oid, abbrev)); } static void describe_commit(struct object_id *oid, struct strbuf *dst) @@ -531,7 +532,7 @@ static void describe(const char *arg, int last_one) if (debug) fprintf(stderr, _("describe %s\n"), arg); - if (get_oid(arg, &oid)) + if (repo_get_oid(the_repository, arg, &oid)) die(_("Not a valid object name %s"), arg); cmit = lookup_commit_reference_gently(the_repository, &oid, 1); diff --git a/builtin/fast-import.c b/builtin/fast-import.c index 7134683ab9..f533b768ef 100644 --- a/builtin/fast-import.c +++ b/builtin/fast-import.c @@ -2486,7 +2486,7 @@ static void note_change_n(const char *p, struct branch *b, unsigned char *old_fa if (commit_oe->type != OBJ_COMMIT) die("Mark :%" PRIuMAX " not a commit", commit_mark); oidcpy(&commit_oid, &commit_oe->idx.oid); - } else if (!get_oid(p, &commit_oid)) { + } else if (!repo_get_oid(the_repository, p, &commit_oid)) { unsigned long size; char *buf = read_object_with_reference(the_repository, &commit_oid, @@ -2599,7 +2599,7 @@ static int parse_objectish(struct branch *b, const char *objectish) } else parse_from_existing(b); } - } else if (!get_oid(objectish, &b->oid)) { + } else if (!repo_get_oid(the_repository, objectish, &b->oid)) { parse_from_existing(b); if (is_null_oid(&b->oid)) b->delete = 1; @@ -2654,7 +2654,7 @@ static struct hash_list *parse_merge(unsigned int *count) if (oe->type != OBJ_COMMIT) die("Mark :%" PRIuMAX " not a commit", idnum); oidcpy(&n->oid, &oe->idx.oid); - } else if (!get_oid(from, &n->oid)) { + } else if (!repo_get_oid(the_repository, from, &n->oid)) { unsigned long size; char *buf = read_object_with_reference(the_repository, &n->oid, @@ -2827,7 +2827,7 @@ static void parse_new_tag(const char *arg) oe = find_mark(marks, from_mark); type = oe->type; oidcpy(&oid, &oe->idx.oid); - } else if (!get_oid(from, &oid)) { + } else if (!repo_get_oid(the_repository, from, &oid)) { struct object_entry *oe = find_object(&oid); if (!oe) { type = oid_object_info(the_repository, &oid, NULL); diff --git a/builtin/fetch.c b/builtin/fetch.c index a09606b472..80cf1d0158 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -1487,7 +1487,7 @@ static void add_negotiation_tips(struct git_transport_options *smart_options) int old_nr; if (!has_glob_specials(s)) { struct object_id oid; - if (get_oid(s, &oid)) + if (repo_get_oid(the_repository, s, &oid)) die(_("%s is not a valid object"), s); if (!has_object(the_repository, &oid, 0)) die(_("the object %s does not exist"), s); diff --git a/builtin/fsck.c b/builtin/fsck.c index d207bd909b..2bf183a43b 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -923,7 +923,7 @@ int cmd_fsck(int argc, const char **argv, const char *prefix) for (i = 0; i < argc; i++) { const char *arg = argv[i]; struct object_id oid; - if (!get_oid(arg, &oid)) { + if (!repo_get_oid(the_repository, arg, &oid)) { struct object *obj = lookup_object(the_repository, &oid); diff --git a/builtin/log.c b/builtin/log.c index a70fba198f..b4c38f6ad8 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1642,7 +1642,7 @@ static struct commit *get_base_commit(const char *base_commit, struct commit *commit; struct object_id oid; - if (get_oid(upstream, &oid)) { + if (repo_get_oid(the_repository, upstream, &oid)) { if (die_on_failure) die(_("failed to resolve '%s' as a valid ref"), upstream); else @@ -2396,7 +2396,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) static int add_pending_commit(const char *arg, struct rev_info *revs, int flags) { struct object_id oid; - if (get_oid(arg, &oid) == 0) { + if (repo_get_oid(the_repository, arg, &oid) == 0) { struct commit *commit = lookup_commit_reference(the_repository, &oid); if (commit) { @@ -2418,12 +2418,12 @@ static void print_commit(char sign, struct commit *commit, int verbose, { if (!verbose) { fprintf(file, "%c %s\n", sign, - find_unique_abbrev(&commit->object.oid, abbrev)); + repo_find_unique_abbrev(the_repository, &commit->object.oid, abbrev)); } else { struct strbuf buf = STRBUF_INIT; pp_commit_easy(CMIT_FMT_ONELINE, commit, &buf); fprintf(file, "%c %s %s\n", sign, - find_unique_abbrev(&commit->object.oid, abbrev), + repo_find_unique_abbrev(the_repository, &commit->object.oid, abbrev), buf.buf); strbuf_release(&buf); } diff --git a/builtin/ls-files.c b/builtin/ls-files.c index a03b559eca..c10d51a969 100644 --- a/builtin/ls-files.c +++ b/builtin/ls-files.c @@ -360,7 +360,7 @@ static void show_ru_info(struct index_state *istate) if (!ui->mode[i]) continue; printf("%s%06o %s %d\t", tag_resolve_undo, ui->mode[i], - find_unique_abbrev(&ui->oid[i], abbrev), + repo_find_unique_abbrev(the_repository, &ui->oid[i], abbrev), i + 1); write_name(path); } @@ -575,7 +575,7 @@ void overlay_tree_on_index(struct index_state *istate, read_tree_fn_t fn = NULL; int err; - if (get_oid(tree_name, &oid)) + if (repo_get_oid(the_repository, tree_name, &oid)) die("tree-ish %s not found.", tree_name); tree = parse_tree_indirect(&oid); if (!tree) diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c index 8cc8c995df..ebcc8fd6ff 100644 --- a/builtin/ls-tree.c +++ b/builtin/ls-tree.c @@ -228,7 +228,7 @@ static int show_tree_default(const struct object_id *oid, struct strbuf *base, return early; printf("%06o %s %s\t", mode, type_name(object_type(mode)), - find_unique_abbrev(oid, options->abbrev)); + repo_find_unique_abbrev(the_repository, oid, options->abbrev)); show_tree_common_default_long(options, base, pathname, base->len); return recurse; } @@ -259,7 +259,8 @@ static int show_tree_long(const struct object_id *oid, struct strbuf *base, } printf("%06o %s %s %7s\t", mode, type_name(type), - find_unique_abbrev(oid, options->abbrev), size_text); + repo_find_unique_abbrev(the_repository, oid, options->abbrev), + size_text); show_tree_common_default_long(options, base, pathname, base->len); return recurse; } @@ -310,7 +311,7 @@ static int show_tree_object(const struct object_id *oid, struct strbuf *base, if (early >= 0) return early; - str = find_unique_abbrev(oid, options->abbrev); + str = repo_find_unique_abbrev(the_repository, oid, options->abbrev); if (options->null_termination) { fputs(str, stdout); fputc('\0', stdout); @@ -433,7 +434,7 @@ int cmd_ls_tree(int argc, const char **argv, const char *prefix) ls_tree_usage, ls_tree_options); if (argc < 1) usage_with_options(ls_tree_usage, ls_tree_options); - if (get_oid(argv[0], &oid)) + if (repo_get_oid(the_repository, argv[0], &oid)) die("Not a valid object name %s", argv[0]); /* diff --git a/builtin/merge-base.c b/builtin/merge-base.c index 6f3941f2a4..688d5c29b7 100644 --- a/builtin/merge-base.c +++ b/builtin/merge-base.c @@ -42,7 +42,7 @@ static struct commit *get_commit_reference(const char *arg) struct object_id revkey; struct commit *r; - if (get_oid(arg, &revkey)) + if (repo_get_oid(the_repository, arg, &revkey)) die("Not a valid object name %s", arg); r = lookup_commit_reference(the_repository, &revkey); if (!r) @@ -118,7 +118,7 @@ static int handle_fork_point(int argc, const char **argv) const char *commitname; commitname = (argc == 2) ? argv[1] : "HEAD"; - if (get_oid(commitname, &oid)) + if (repo_get_oid(the_repository, commitname, &oid)) die("Not a valid object name: '%s'", commitname); derived = lookup_commit_reference(the_repository, &oid); diff --git a/builtin/merge-recursive.c b/builtin/merge-recursive.c index b9acbf5d34..a50b328d94 100644 --- a/builtin/merge-recursive.c +++ b/builtin/merge-recursive.c @@ -49,7 +49,7 @@ int cmd_merge_recursive(int argc, const char **argv, const char *prefix) } if (bases_count < ARRAY_SIZE(bases)-1) { struct object_id *oid = xmalloc(sizeof(struct object_id)); - if (get_oid(argv[i], oid)) + if (repo_get_oid(the_repository, argv[i], oid)) die(_("could not parse object '%s'"), argv[i]); bases[bases_count++] = oid; } @@ -70,9 +70,9 @@ int cmd_merge_recursive(int argc, const char **argv, const char *prefix) o.branch1 = argv[++i]; o.branch2 = argv[++i]; - if (get_oid(o.branch1, &h1)) + if (repo_get_oid(the_repository, o.branch1, &h1)) die(_("could not resolve ref '%s'"), o.branch1); - if (get_oid(o.branch2, &h2)) + if (repo_get_oid(the_repository, o.branch2, &h2)) die(_("could not resolve ref '%s'"), o.branch2); o.branch1 = better1 = better_branch_name(o.branch1); diff --git a/builtin/merge.c b/builtin/merge.c index 0a3c10a096..7331a0cd91 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -337,7 +337,7 @@ static int save_state(struct object_id *stash) else if (!len) /* no changes */ goto out; strbuf_setlen(&buffer, buffer.len-1); - if (get_oid(buffer.buf, stash)) + if (repo_get_oid(the_repository, buffer.buf, stash)) die(_("not a valid object: %s"), buffer.buf); rc = 0; out: @@ -1567,10 +1567,10 @@ int cmd_merge(int argc, const char **argv, const char *prefix) if (verbosity >= 0) { printf(_("Updating %s..%s\n"), - find_unique_abbrev(&head_commit->object.oid, - DEFAULT_ABBREV), - find_unique_abbrev(&remoteheads->item->object.oid, - DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &head_commit->object.oid, + DEFAULT_ABBREV), + repo_find_unique_abbrev(the_repository, &remoteheads->item->object.oid, + DEFAULT_ABBREV)); } commit = remoteheads->item; if (!commit) { diff --git a/builtin/name-rev.c b/builtin/name-rev.c index 97959bfaf9..35fd89f794 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -493,7 +493,8 @@ static void show_name(const struct object *obj, else if (allow_undefined) printf("undefined\n"); else if (always) - printf("%s\n", find_unique_abbrev(oid, DEFAULT_ABBREV)); + printf("%s\n", + repo_find_unique_abbrev(the_repository, oid, DEFAULT_ABBREV)); else die("cannot describe '%s'", oid_to_hex(oid)); strbuf_release(&buf); @@ -527,7 +528,7 @@ static void name_rev_line(char *p, struct name_ref_data *data) counter = 0; *(p+1) = 0; - if (!get_oid(p - (hexsz - 1), &oid)) { + if (!repo_get_oid(the_repository, p - (hexsz - 1), &oid)) { struct object *o = lookup_object(the_repository, &oid); if (o) @@ -604,7 +605,7 @@ int cmd_name_rev(int argc, const char **argv, const char *prefix) struct object *object; struct commit *commit; - if (get_oid(*argv, &oid)) { + if (repo_get_oid(the_repository, *argv, &oid)) { fprintf(stderr, "Could not get sha1 for %s. Skipping.\n", *argv); continue; diff --git a/builtin/notes.c b/builtin/notes.c index 80d9dfd25c..d98460e5d6 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -257,7 +257,7 @@ static int parse_reuse_arg(const struct option *opt, const char *arg, int unset) if (d->buf.len) strbuf_addch(&d->buf, '\n'); - if (get_oid(arg, &object)) + if (repo_get_oid(the_repository, arg, &object)) die(_("failed to resolve '%s' as a valid ref."), arg); if (!(buf = read_object_file(&object, &type, &len))) die(_("failed to read object '%s'."), arg); @@ -307,9 +307,9 @@ static int notes_copy_from_stdin(int force, const char *rewrite_cmd) die(_("malformed input line: '%s'."), buf.buf); strbuf_rtrim(split[0]); strbuf_rtrim(split[1]); - if (get_oid(split[0]->buf, &from_obj)) + if (repo_get_oid(the_repository, split[0]->buf, &from_obj)) die(_("failed to resolve '%s' as a valid ref."), split[0]->buf); - if (get_oid(split[1]->buf, &to_obj)) + if (repo_get_oid(the_repository, split[1]->buf, &to_obj)) die(_("failed to resolve '%s' as a valid ref."), split[1]->buf); if (rewrite_cmd) @@ -377,7 +377,7 @@ static int list(int argc, const char **argv, const char *prefix) t = init_notes_check("list", 0); if (argc) { - if (get_oid(argv[0], &object)) + if (repo_get_oid(the_repository, argv[0], &object)) die(_("failed to resolve '%s' as a valid ref."), argv[0]); note = get_note(t, &object); if (note) { @@ -432,7 +432,7 @@ static int add(int argc, const char **argv, const char *prefix) object_ref = argc > 1 ? argv[1] : "HEAD"; - if (get_oid(object_ref, &object)) + if (repo_get_oid(the_repository, object_ref, &object)) die(_("failed to resolve '%s' as a valid ref."), object_ref); t = init_notes_check("add", NOTES_INIT_WRITABLE); @@ -520,12 +520,12 @@ static int copy(int argc, const char **argv, const char *prefix) usage_with_options(git_notes_copy_usage, options); } - if (get_oid(argv[0], &from_obj)) + if (repo_get_oid(the_repository, argv[0], &from_obj)) die(_("failed to resolve '%s' as a valid ref."), argv[0]); object_ref = 1 < argc ? argv[1] : "HEAD"; - if (get_oid(object_ref, &object)) + if (repo_get_oid(the_repository, object_ref, &object)) die(_("failed to resolve '%s' as a valid ref."), object_ref); t = init_notes_check("copy", NOTES_INIT_WRITABLE); @@ -604,7 +604,7 @@ static int append_edit(int argc, const char **argv, const char *prefix) object_ref = 1 < argc ? argv[1] : "HEAD"; - if (get_oid(object_ref, &object)) + if (repo_get_oid(the_repository, object_ref, &object)) die(_("failed to resolve '%s' as a valid ref."), object_ref); t = init_notes_check(argv[0], NOTES_INIT_WRITABLE); @@ -666,7 +666,7 @@ static int show(int argc, const char **argv, const char *prefix) object_ref = argc ? argv[0] : "HEAD"; - if (get_oid(object_ref, &object)) + if (repo_get_oid(the_repository, object_ref, &object)) die(_("failed to resolve '%s' as a valid ref."), object_ref); t = init_notes_check("show", 0); @@ -716,7 +716,7 @@ static int merge_commit(struct notes_merge_options *o) * and target notes ref from .git/NOTES_MERGE_REF. */ - if (get_oid("NOTES_MERGE_PARTIAL", &oid)) + if (repo_get_oid(the_repository, "NOTES_MERGE_PARTIAL", &oid)) die(_("failed to read ref NOTES_MERGE_PARTIAL")); else if (!(partial = lookup_commit_reference(the_repository, &oid))) die(_("could not find commit from NOTES_MERGE_PARTIAL.")); @@ -895,7 +895,7 @@ static int remove_one_note(struct notes_tree *t, const char *name, unsigned flag { int status; struct object_id oid; - if (get_oid(name, &oid)) + if (repo_get_oid(the_repository, name, &oid)) return error(_("Failed to resolve '%s' as a valid ref."), name); status = remove_note(t, oid.hash); if (status) diff --git a/builtin/prune.c b/builtin/prune.c index 2719220108..93be90825d 100644 --- a/builtin/prune.c +++ b/builtin/prune.c @@ -168,7 +168,7 @@ int cmd_prune(int argc, const char **argv, const char *prefix) struct object_id oid; const char *name = *argv++; - if (!get_oid(name, &oid)) { + if (!repo_get_oid(the_repository, name, &oid)) { struct object *object = parse_object_or_die(&oid, name); add_pending_object(&revs, object, ""); diff --git a/builtin/pull.c b/builtin/pull.c index 1ab4de0005..880eebcdd6 100644 --- a/builtin/pull.c +++ b/builtin/pull.c @@ -1036,7 +1036,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix) if (file_exists(git_path_merge_head(the_repository))) die_conclude_merge(); - if (get_oid("HEAD", &orig_head)) + if (repo_get_oid(the_repository, "HEAD", &orig_head)) oidclr(&orig_head); if (opt_rebase) { @@ -1061,7 +1061,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix) if (opt_dry_run) return 0; - if (get_oid("HEAD", &curr_head)) + if (repo_get_oid(the_repository, "HEAD", &curr_head)) oidclr(&curr_head); if (!is_null_oid(&orig_head) && !is_null_oid(&curr_head) && diff --git a/builtin/range-diff.c b/builtin/range-diff.c index aecfae12d3..556ee84b6d 100644 --- a/builtin/range-diff.c +++ b/builtin/range-diff.c @@ -65,20 +65,20 @@ int cmd_range_diff(int argc, const char **argv, const char *prefix) if (dash_dash == 3 || (dash_dash < 0 && argc > 2 && - !get_oid_committish(argv[0], &oid) && - !get_oid_committish(argv[1], &oid) && - !get_oid_committish(argv[2], &oid))) { + !repo_get_oid_committish(the_repository, argv[0], &oid) && + !repo_get_oid_committish(the_repository, argv[1], &oid) && + !repo_get_oid_committish(the_repository, argv[2], &oid))) { if (dash_dash < 0) ; /* already validated arguments */ - else if (get_oid_committish(argv[0], &oid)) + else if (repo_get_oid_committish(the_repository, argv[0], &oid)) usage_msg_optf(_("not a revision: '%s'"), builtin_range_diff_usage, options, argv[0]); - else if (get_oid_committish(argv[1], &oid)) + else if (repo_get_oid_committish(the_repository, argv[1], &oid)) usage_msg_optf(_("not a revision: '%s'"), builtin_range_diff_usage, options, argv[1]); - else if (get_oid_committish(argv[2], &oid)) + else if (repo_get_oid_committish(the_repository, argv[2], &oid)) usage_msg_optf(_("not a revision: '%s'"), builtin_range_diff_usage, options, argv[2]); diff --git a/builtin/read-tree.c b/builtin/read-tree.c index 3ce7541783..a1c6aa9641 100644 --- a/builtin/read-tree.c +++ b/builtin/read-tree.c @@ -198,7 +198,7 @@ int cmd_read_tree(int argc, const char **argv, const char *cmd_prefix) for (i = 0; i < argc; i++) { const char *arg = argv[i]; - if (get_oid(arg, &oid)) + if (repo_get_oid(the_repository, arg, &oid)) die("Not a valid object name %s", arg); if (list_tree(&oid) < 0) die("failed to unpack tree object %s", arg); diff --git a/builtin/rebase.c b/builtin/rebase.c index 6635f10d52..d5358ca89d 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -218,13 +218,15 @@ static int get_revision_ranges(struct commit *upstream, struct commit *onto, *revisions = xstrfmt("%s...%s", oid_to_hex(&base_rev->object.oid), oid_to_hex(orig_head)); - shorthead = find_unique_abbrev(orig_head, DEFAULT_ABBREV); + shorthead = repo_find_unique_abbrev(the_repository, orig_head, + DEFAULT_ABBREV); if (upstream) { const char *shortrev; - shortrev = find_unique_abbrev(&base_rev->object.oid, - DEFAULT_ABBREV); + shortrev = repo_find_unique_abbrev(the_repository, + &base_rev->object.oid, + DEFAULT_ABBREV); *shortrevisions = xstrfmt("%s..%s", shortrev, shorthead); } else @@ -1261,7 +1263,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) int fd; /* Sanity check */ - if (get_oid("HEAD", &head)) + if (repo_get_oid(the_repository, "HEAD", &head)) die(_("Cannot read HEAD")); fd = repo_hold_locked_index(the_repository, &lock_file, 0); @@ -1680,7 +1682,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) } else if (!options.onto_name) options.onto_name = options.upstream_name; if (strstr(options.onto_name, "...")) { - if (get_oid_mb(options.onto_name, &branch_base) < 0) { + if (repo_get_oid_mb(the_repository, options.onto_name, &branch_base) < 0) { if (keep_base) die(_("'%s': need exactly one merge base with branch"), options.upstream_name); diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index cd5c7a28ef..b5816624d2 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -1347,7 +1347,7 @@ static int head_has_history(void) { struct object_id oid; - return !get_oid("HEAD", &oid); + return !repo_get_oid(the_repository, "HEAD", &oid); } static const char *push_to_deploy(unsigned char *sha1, @@ -1681,11 +1681,11 @@ static void check_aliased_update_internal(struct command *cmd, rp_error("refusing inconsistent update between symref '%s' (%s..%s) and" " its target '%s' (%s..%s)", cmd->ref_name, - find_unique_abbrev(&cmd->old_oid, DEFAULT_ABBREV), - find_unique_abbrev(&cmd->new_oid, DEFAULT_ABBREV), + repo_find_unique_abbrev(the_repository, &cmd->old_oid, DEFAULT_ABBREV), + repo_find_unique_abbrev(the_repository, &cmd->new_oid, DEFAULT_ABBREV), dst_cmd->ref_name, - find_unique_abbrev(&dst_cmd->old_oid, DEFAULT_ABBREV), - find_unique_abbrev(&dst_cmd->new_oid, DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &dst_cmd->old_oid, DEFAULT_ABBREV), + repo_find_unique_abbrev(the_repository, &dst_cmd->new_oid, DEFAULT_ABBREV)); cmd->error_string = dst_cmd->error_string = "inconsistent aliased update"; diff --git a/builtin/replace.c b/builtin/replace.c index a29e911d30..33c6cdb79c 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -54,7 +54,7 @@ static int show_reference(struct repository *r, const char *refname, struct object_id object; enum object_type obj_type, repl_type; - if (get_oid(refname, &object)) + if (repo_get_oid(the_repository, refname, &object)) return error(_("failed to resolve '%s' as a valid ref"), refname); obj_type = oid_object_info(r, &object, NULL); @@ -112,7 +112,7 @@ static int for_each_replace_name(const char **argv, each_replace_name_fn fn) base_len = ref.len; for (p = argv; *p; p++) { - if (get_oid(*p, &oid)) { + if (repo_get_oid(the_repository, *p, &oid)) { error("failed to resolve '%s' as a valid ref", *p); had_error = 1; continue; @@ -206,10 +206,10 @@ static int replace_object(const char *object_ref, const char *replace_ref, int f { struct object_id object, repl; - if (get_oid(object_ref, &object)) + if (repo_get_oid(the_repository, object_ref, &object)) return error(_("failed to resolve '%s' as a valid ref"), object_ref); - if (get_oid(replace_ref, &repl)) + if (repo_get_oid(the_repository, replace_ref, &repl)) return error(_("failed to resolve '%s' as a valid ref"), replace_ref); @@ -320,7 +320,7 @@ static int edit_and_replace(const char *object_ref, int force, int raw) struct object_id old_oid, new_oid, prev; struct strbuf ref = STRBUF_INIT; - if (get_oid(object_ref, &old_oid) < 0) + if (repo_get_oid(the_repository, object_ref, &old_oid) < 0) return error(_("not a valid object name: '%s'"), object_ref); type = oid_object_info(the_repository, &old_oid, NULL); @@ -375,7 +375,7 @@ static int replace_parents(struct strbuf *buf, int argc, const char **argv) struct object_id oid; struct commit *commit; - if (get_oid(argv[i], &oid) < 0) { + if (repo_get_oid(the_repository, argv[i], &oid) < 0) { strbuf_release(&new_parents); return error(_("not a valid object name: '%s'"), argv[i]); @@ -422,7 +422,7 @@ static int check_one_mergetag(struct commit *commit, /* iterate over new parents */ for (i = 1; i < mergetag_data->argc; i++) { struct object_id oid; - if (get_oid(mergetag_data->argv[i], &oid) < 0) + if (repo_get_oid(the_repository, mergetag_data->argv[i], &oid) < 0) return error(_("not a valid object name: '%s'"), mergetag_data->argv[i]); if (oideq(get_tagged_oid(tag), &oid)) @@ -452,7 +452,7 @@ static int create_graft(int argc, const char **argv, int force, int gentle) const char *buffer; unsigned long size; - if (get_oid(old_ref, &old_oid) < 0) + if (repo_get_oid(the_repository, old_ref, &old_oid) < 0) return error(_("not a valid object name: '%s'"), old_ref); commit = lookup_commit_reference(the_repository, &old_oid); if (!commit) diff --git a/builtin/reset.c b/builtin/reset.c index 0697fa89de..75b447ffdc 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -89,7 +89,7 @@ static int reset_index(const char *ref, const struct object_id *oid, int reset_t if (reset_type == KEEP) { struct object_id head_oid; - if (get_oid("HEAD", &head_oid)) + if (repo_get_oid(the_repository, "HEAD", &head_oid)) return error(_("You do not have a valid HEAD.")); if (!fill_tree_descriptor(the_repository, desc + nr, &head_oid)) return error(_("Failed to find tree of HEAD.")); @@ -124,7 +124,7 @@ static void print_new_head_line(struct commit *commit) struct strbuf buf = STRBUF_INIT; printf(_("HEAD is now at %s"), - find_unique_abbrev(&commit->object.oid, DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &commit->object.oid, DEFAULT_ABBREV)); pp_commit_easy(CMIT_FMT_ONELINE, commit, &buf); if (buf.len > 0) @@ -260,8 +260,8 @@ static void parse_args(struct pathspec *pathspec, * has to be unambiguous. If there is a single argument, it * can not be a tree */ - else if ((!argv[1] && !get_oid_committish(argv[0], &unused)) || - (argv[1] && !get_oid_treeish(argv[0], &unused))) { + else if ((!argv[1] && !repo_get_oid_committish(the_repository, argv[0], &unused)) || + (argv[1] && !repo_get_oid_treeish(the_repository, argv[0], &unused))) { /* * Ok, argv[0] looks like a commit/tree; it should not * be a filename. @@ -288,9 +288,9 @@ static int reset_refs(const char *rev, const struct object_id *oid) struct object_id *orig = NULL, oid_orig, *old_orig = NULL, oid_old_orig; - if (!get_oid("ORIG_HEAD", &oid_old_orig)) + if (!repo_get_oid(the_repository, "ORIG_HEAD", &oid_old_orig)) old_orig = &oid_old_orig; - if (!get_oid("HEAD", &oid_orig)) { + if (!repo_get_oid(the_repository, "HEAD", &oid_orig)) { orig = &oid_orig; set_reflog_message(&msg, "updating ORIG_HEAD", NULL); update_ref(msg.buf, "ORIG_HEAD", orig, old_orig, 0, @@ -365,13 +365,14 @@ int cmd_reset(int argc, const char **argv, const char *prefix) die(_("the option '%s' requires '%s'"), "--pathspec-file-nul", "--pathspec-from-file"); } - unborn = !strcmp(rev, "HEAD") && get_oid("HEAD", &oid); + unborn = !strcmp(rev, "HEAD") && repo_get_oid(the_repository, "HEAD", + &oid); if (unborn) { /* reset on unborn branch: treat as reset to empty tree */ oidcpy(&oid, the_hash_algo->empty_tree); } else if (!pathspec.nr && !patch_mode) { struct commit *commit; - if (get_oid_committish(rev, &oid)) + if (repo_get_oid_committish(the_repository, rev, &oid)) die(_("Failed to resolve '%s' as a valid revision."), rev); commit = lookup_commit_reference(the_repository, &oid); if (!commit) @@ -379,7 +380,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix) oidcpy(&oid, &commit->object.oid); } else { struct tree *tree; - if (get_oid_treeish(rev, &oid)) + if (repo_get_oid_treeish(the_repository, rev, &oid)) die(_("Failed to resolve '%s' as a valid tree."), rev); tree = parse_tree_indirect(&oid); if (!tree) diff --git a/builtin/rev-list.c b/builtin/rev-list.c index d42db0b0cc..0f55eae22e 100644 --- a/builtin/rev-list.c +++ b/builtin/rev-list.c @@ -134,7 +134,7 @@ static void show_commit(struct commit *commit, void *data) if (!revs->graph) fputs(get_revision_mark(revs, commit), stdout); if (revs->abbrev_commit && revs->abbrev) - fputs(find_unique_abbrev(&commit->object.oid, revs->abbrev), + fputs(repo_find_unique_abbrev(the_repository, &commit->object.oid, revs->abbrev), stdout); else fputs(oid_to_hex(&commit->object.oid), stdout); diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index e67999e5eb..eb53a303de 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -162,7 +162,8 @@ static void show_rev(int type, const struct object_id *oid, const char *name) } } else if (abbrev) - show_with_type(type, find_unique_abbrev(oid, abbrev)); + show_with_type(type, + repo_find_unique_abbrev(the_repository, oid, abbrev)); else show_with_type(type, oid_to_hex(oid)); } @@ -187,7 +188,7 @@ static int show_default(void) struct object_id oid; def = NULL; - if (!get_oid(s, &oid)) { + if (!repo_get_oid(the_repository, s, &oid)) { show_rev(NORMAL, &oid, s); return 1; } @@ -279,7 +280,7 @@ static int try_difference(const char *arg) return 0; } - if (!get_oid_committish(start, &start_oid) && !get_oid_committish(end, &end_oid)) { + if (!repo_get_oid_committish(the_repository, start, &start_oid) && !repo_get_oid_committish(the_repository, end, &end_oid)) { show_rev(NORMAL, &end_oid, end); show_rev(symmetric ? NORMAL : REVERSED, &start_oid, start); if (symmetric) { @@ -337,7 +338,7 @@ static int try_parent_shorthands(const char *arg) return 0; *dotdot = 0; - if (get_oid_committish(arg, &oid) || + if (repo_get_oid_committish(the_repository, arg, &oid) || !(commit = lookup_commit_reference(the_repository, &oid))) { *dotdot = '^'; return 0; @@ -868,7 +869,8 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) continue; } if (skip_prefix(arg, "--disambiguate=", &arg)) { - for_each_abbrev(arg, show_abbrev, NULL); + repo_for_each_abbrev(the_repository, arg, + show_abbrev, NULL); continue; } if (!strcmp(arg, "--bisect")) { diff --git a/builtin/rm.c b/builtin/rm.c index 8844f90655..25130f1b19 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -370,7 +370,7 @@ int cmd_rm(int argc, const char **argv, const char *prefix) */ if (!force) { struct object_id oid; - if (get_oid("HEAD", &oid)) + if (repo_get_oid(the_repository, "HEAD", &oid)) oidclr(&oid); if (check_local_mod(&oid, index_only)) exit(1); diff --git a/builtin/show-branch.c b/builtin/show-branch.c index 358ac3e519..9e3b8ed27e 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -312,8 +312,8 @@ static void show_one_commit(struct commit *commit, int no_name) } else printf("[%s] ", - find_unique_abbrev(&commit->object.oid, - DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &commit->object.oid, + DEFAULT_ABBREV)); } puts(pretty_str); strbuf_release(&pretty); @@ -414,7 +414,7 @@ static int append_head_ref(const char *refname, const struct object_id *oid, /* If both heads/foo and tags/foo exists, get_sha1 would * get confused. */ - if (get_oid(refname + ofs, &tmp) || !oideq(&tmp, oid)) + if (repo_get_oid(the_repository, refname + ofs, &tmp) || !oideq(&tmp, oid)) ofs = 5; return append_ref(refname + ofs, oid, 0); } @@ -429,7 +429,7 @@ static int append_remote_ref(const char *refname, const struct object_id *oid, /* If both heads/foo and tags/foo exists, get_sha1 would * get confused. */ - if (get_oid(refname + ofs, &tmp) || !oideq(&tmp, oid)) + if (repo_get_oid(the_repository, refname + ofs, &tmp) || !oideq(&tmp, oid)) ofs = 5; return append_ref(refname + ofs, oid, 0); } @@ -533,7 +533,7 @@ static int show_independent(struct commit **rev, static void append_one_rev(const char *av) { struct object_id revkey; - if (!get_oid(av, &revkey)) { + if (!repo_get_oid(the_repository, av, &revkey)) { append_ref(av, &revkey, 0); return; } @@ -836,7 +836,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix) die(Q_("cannot handle more than %d rev.", "cannot handle more than %d revs.", MAX_REVS), MAX_REVS); - if (get_oid(ref_name[num_rev], &revkey)) + if (repo_get_oid(the_repository, ref_name[num_rev], &revkey)) die(_("'%s' is not a valid ref."), ref_name[num_rev]); commit = lookup_commit_reference(the_repository, &revkey); if (!commit) diff --git a/builtin/show-ref.c b/builtin/show-ref.c index 3af6a53ee9..eb3ad1688b 100644 --- a/builtin/show-ref.c +++ b/builtin/show-ref.c @@ -33,7 +33,7 @@ static void show_one(const char *refname, const struct object_id *oid) if (quiet) return; - hex = find_unique_abbrev(oid, abbrev); + hex = repo_find_unique_abbrev(the_repository, oid, abbrev); if (hash_only) printf("%s\n", hex); else @@ -43,7 +43,7 @@ static void show_one(const char *refname, const struct object_id *oid) return; if (!peel_iterated_oid(oid, &peeled)) { - hex = find_unique_abbrev(&peeled, abbrev); + hex = repo_find_unique_abbrev(the_repository, &peeled, abbrev); printf("%s %s^{}\n", hex, refname); } } diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c index c373815491..c5c8b7b89c 100644 --- a/builtin/sparse-checkout.c +++ b/builtin/sparse-checkout.c @@ -471,7 +471,7 @@ static int sparse_checkout_init(int argc, const char **argv, const char *prefix) return update_working_directory(NULL); } - if (get_oid("HEAD", &oid)) { + if (repo_get_oid(the_repository, "HEAD", &oid)) { FILE *fp; /* assume we are in a fresh repo, but update the sparse-checkout file */ diff --git a/builtin/stash.c b/builtin/stash.c index 3a4f9fd566..ed1275829e 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -201,7 +201,7 @@ static int get_stash_info(struct stash_info *info, int argc, const char **argv) revision = info->revision.buf; - if (get_oid(revision, &info->w_commit)) + if (repo_get_oid(the_repository, revision, &info->w_commit)) return error(_("%s is not a valid reference"), revision); assert_stash_like(info, revision); @@ -231,7 +231,7 @@ static int get_stash_info(struct stash_info *info, int argc, const char **argv) static int do_clear_stash(void) { struct object_id obj; - if (get_oid(ref_stash, &obj)) + if (repo_get_oid(the_repository, ref_stash, &obj)) return 0; return delete_ref(NULL, ref_stash, &obj, 0); @@ -1083,7 +1083,7 @@ static int check_changes_tracked_files(const struct pathspec *ps) int ret = 0; /* No initial commit. */ - if (get_oid("HEAD", &dummy)) + if (repo_get_oid(the_repository, "HEAD", &dummy)) return -1; if (repo_read_index(the_repository) < 0) @@ -1355,7 +1355,7 @@ static int do_create_stash(const struct pathspec *ps, struct strbuf *stash_msg_b goto done; } - if (get_oid("HEAD", &info->b_commit)) { + if (repo_get_oid(the_repository, "HEAD", &info->b_commit)) { if (!quiet) fprintf_ln(stderr, _("You do not have " "the initial commit yet")); @@ -1373,8 +1373,9 @@ static int do_create_stash(const struct pathspec *ps, struct strbuf *stash_msg_b branch_ref = resolve_ref_unsafe("HEAD", 0, NULL, &flags); if (flags & REF_ISSYMREF) skip_prefix(branch_ref, "refs/heads/", &branch_name); - head_short_sha1 = find_unique_abbrev(&head_commit->object.oid, - DEFAULT_ABBREV); + head_short_sha1 = repo_find_unique_abbrev(the_repository, + &head_commit->object.oid, + DEFAULT_ABBREV); strbuf_addf(&msg, "%s: %s ", branch_name, head_short_sha1); pp_commit_easy(CMIT_FMT_ONELINE, head_commit, &msg); diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 4c173d8b37..25c70f415f 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -1174,7 +1174,7 @@ static int module_summary(int argc, const char **argv, const char *prefix) if (!summary_limit) return 0; - if (!get_oid(argc ? argv[0] : "HEAD", &head_oid)) { + if (!repo_get_oid(the_repository, argc ? argv[0] : "HEAD", &head_oid)) { if (argc) { argv++; argc--; @@ -1187,7 +1187,7 @@ static int module_summary(int argc, const char **argv, const char *prefix) argc--; } } else { - if (get_oid("HEAD", &head_oid)) + if (repo_get_oid(the_repository, "HEAD", &head_oid)) die(_("could not fetch a revision for HEAD")); } diff --git a/builtin/tag.c b/builtin/tag.c index d428c45dc8..e6cbf6e5a8 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -137,7 +137,7 @@ static int delete_tags(const char **argv) if (!ref_exists(name)) printf(_("Deleted tag '%s' (was %s)\n"), item->string + 10, - find_unique_abbrev(oid, DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, oid, DEFAULT_ABBREV)); free(oid); } @@ -593,7 +593,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix) if (argc > 2) die(_("too many arguments")); - if (get_oid(object_ref, &object)) + if (repo_get_oid(the_repository, object_ref, &object)) die(_("Failed to resolve '%s' as a valid ref."), object_ref); if (strbuf_check_tag_ref(&ref, tag)) @@ -634,7 +634,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix) ref_transaction_free(transaction); if (force && !is_null_oid(&prev) && !oideq(&prev, &object)) printf(_("Updated tag '%s' (was %s)\n"), tag, - find_unique_abbrev(&prev, DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &prev, DEFAULT_ABBREV)); cleanup: ref_sorting_release(sorting); diff --git a/builtin/unpack-file.c b/builtin/unpack-file.c index 88de32b7d7..e0d5178acc 100644 --- a/builtin/unpack-file.c +++ b/builtin/unpack-file.c @@ -29,7 +29,7 @@ int cmd_unpack_file(int argc, const char **argv, const char *prefix) if (argc != 2 || !strcmp(argv[1], "-h")) usage("git unpack-file "); - if (get_oid(argv[1], &oid)) + if (repo_get_oid(the_repository, argv[1], &oid)) die("Not a valid object name %s", argv[1]); git_config(git_default_config, NULL); diff --git a/builtin/update-ref.c b/builtin/update-ref.c index a84e7b47a2..1ba0727ba7 100644 --- a/builtin/update-ref.c +++ b/builtin/update-ref.c @@ -116,7 +116,7 @@ static int parse_next_oid(const char **next, const char *end, (*next)++; *next = parse_arg(*next, &arg); if (arg.len) { - if (get_oid(arg.buf, oid)) + if (repo_get_oid(the_repository, arg.buf, oid)) goto invalid; } else { /* Without -z, an empty value means all zeros: */ @@ -134,7 +134,7 @@ static int parse_next_oid(const char **next, const char *end, *next += arg.len; if (arg.len) { - if (get_oid(arg.buf, oid)) + if (repo_get_oid(the_repository, arg.buf, oid)) goto invalid; } else if (flags & PARSE_SHA1_ALLOW_EMPTY) { /* With -z, treat an empty value as all zeros: */ @@ -549,7 +549,7 @@ int cmd_update_ref(int argc, const char **argv, const char *prefix) refname = argv[0]; value = argv[1]; oldval = argv[2]; - if (get_oid(value, &oid)) + if (repo_get_oid(the_repository, value, &oid)) die("%s: not a valid SHA1", value); } @@ -560,7 +560,7 @@ int cmd_update_ref(int argc, const char **argv, const char *prefix) * must not already exist: */ oidclr(&oldoid); - else if (get_oid(oldval, &oldoid)) + else if (repo_get_oid(the_repository, oldval, &oldoid)) die("%s: not a valid old SHA1", oldval); } diff --git a/builtin/verify-commit.c b/builtin/verify-commit.c index 3ebad32b0f..424b43083c 100644 --- a/builtin/verify-commit.c +++ b/builtin/verify-commit.c @@ -39,7 +39,7 @@ static int verify_commit(const char *name, unsigned flags) struct object_id oid; struct object *obj; - if (get_oid(name, &oid)) + if (repo_get_oid(the_repository, name, &oid)) return error("commit '%s' not found.", name); obj = parse_object(the_repository, &oid); diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c index 217566952d..050fd29251 100644 --- a/builtin/verify-tag.c +++ b/builtin/verify-tag.c @@ -60,7 +60,7 @@ int cmd_verify_tag(int argc, const char **argv, const char *prefix) struct object_id oid; const char *name = argv[i++]; - if (get_oid(name, &oid)) { + if (repo_get_oid(the_repository, name, &oid)) { had_error = !!error("tag '%s' not found.", name); continue; } diff --git a/builtin/worktree.c b/builtin/worktree.c index 254283aa6f..16fa30f01c 100644 --- a/builtin/worktree.c +++ b/builtin/worktree.c @@ -552,7 +552,7 @@ static void print_preparing_worktree_line(int detach, else fprintf_ln(stderr, _("Preparing worktree (resetting branch '%s'; was at %s)"), new_branch, - find_unique_abbrev(&commit->object.oid, DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &commit->object.oid, DEFAULT_ABBREV)); } else if (new_branch) { fprintf_ln(stderr, _("Preparing worktree (new branch '%s')"), new_branch); } else { @@ -566,7 +566,7 @@ static void print_preparing_worktree_line(int detach, if (!commit) die(_("invalid reference: %s"), branch); fprintf_ln(stderr, _("Preparing worktree (detached HEAD %s)"), - find_unique_abbrev(&commit->object.oid, DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &commit->object.oid, DEFAULT_ABBREV)); } strbuf_release(&s); } @@ -756,7 +756,7 @@ static void show_worktree(struct worktree *wt, int path_maxlen, int abbrev_len) strbuf_addstr(&sb, "(bare)"); else { strbuf_addf(&sb, "%-*s ", abbrev_len, - find_unique_abbrev(&wt->head_oid, DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &wt->head_oid, DEFAULT_ABBREV)); if (wt->is_detached) strbuf_addstr(&sb, "(detached HEAD)"); else if (wt->head_ref) { @@ -793,7 +793,7 @@ static void measure_widths(struct worktree **wt, int *abbrev, int *maxlen) if (path_len > *maxlen) *maxlen = path_len; - sha1_len = strlen(find_unique_abbrev(&wt[i]->head_oid, *abbrev)); + sha1_len = strlen(repo_find_unique_abbrev(the_repository, &wt[i]->head_oid, *abbrev)); if (sha1_len > *abbrev) *abbrev = sha1_len; } diff --git a/cache.h b/cache.h index 12789903e8..d835ac8b4d 100644 --- a/cache.h +++ b/cache.h @@ -1211,9 +1211,7 @@ void check_repository_format(struct repository_format *fmt); * reentrant, as it calls into other non-reentrant git code. */ const char *repo_find_unique_abbrev(struct repository *r, const struct object_id *oid, int len); -#define find_unique_abbrev(oid, len) repo_find_unique_abbrev(the_repository, oid, len) int repo_find_unique_abbrev_r(struct repository *r, char *hex, const struct object_id *oid, int len); -#define find_unique_abbrev_r(hex, oid, len) repo_find_unique_abbrev_r(the_repository, hex, oid, len) /* set default permissions by passing mode arguments to open(2) */ int git_mkstemps_mode(char *pattern, int suffix_len, int mode); @@ -1488,17 +1486,8 @@ enum get_oid_result get_oid_with_context(struct repository *repo, const char *st unsigned flags, struct object_id *oid, struct object_context *oc); -#define get_oid(str, oid) repo_get_oid(the_repository, str, oid) -#define get_oid_commit(str, oid) repo_get_oid_commit(the_repository, str, oid) -#define get_oid_committish(str, oid) repo_get_oid_committish(the_repository, str, oid) -#define get_oid_tree(str, oid) repo_get_oid_tree(the_repository, str, oid) -#define get_oid_treeish(str, oid) repo_get_oid_treeish(the_repository, str, oid) -#define get_oid_blob(str, oid) repo_get_oid_blob(the_repository, str, oid) -#define get_oid_mb(str, oid) repo_get_oid_mb(the_repository, str, oid) - typedef int each_abbrev_fn(const struct object_id *oid, void *); int repo_for_each_abbrev(struct repository *r, const char *prefix, each_abbrev_fn, void *); -#define for_each_abbrev(prefix, fn, data) repo_for_each_abbrev(the_repository, prefix, fn, data) int set_disambiguate_hint_config(const char *var, const char *value); @@ -1608,8 +1597,6 @@ int repo_interpret_branch_name(struct repository *r, const char *str, int len, struct strbuf *buf, const struct interpret_branch_name_options *options); -#define interpret_branch_name(str, len, buf, options) \ - repo_interpret_branch_name(the_repository, str, len, buf, options) int validate_headref(const char *ref); @@ -1629,8 +1616,6 @@ void *read_object_with_reference(struct repository *r, struct object *repo_peel_to_type(struct repository *r, const char *name, int namelen, struct object *o, enum object_type); -#define peel_to_type(name, namelen, obj, type) \ - repo_peel_to_type(the_repository, name, namelen, obj, type) #define IDENT_STRICT 1 #define IDENT_NO_DATE 2 diff --git a/checkout.c b/checkout.c index 2e39dae684..1247b88224 100644 --- a/checkout.c +++ b/checkout.c @@ -23,7 +23,7 @@ static int check_tracking_name(struct remote *remote, void *cb_data) memset(&query, 0, sizeof(struct refspec_item)); query.src = cb->src_ref; if (remote_find_tracking(remote, &query) || - get_oid(query.dst, cb->dst_oid)) { + repo_get_oid(the_repository, query.dst, cb->dst_oid)) { free(query.dst); return 0; } diff --git a/combine-diff.c b/combine-diff.c index 1a39b5dde0..d84ab878b7 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -948,11 +948,11 @@ static void show_combined_header(struct combine_diff_path *elem, "", elem->path, line_prefix, c_meta, c_reset); printf("%s%sindex ", line_prefix, c_meta); for (i = 0; i < num_parent; i++) { - abb = find_unique_abbrev(&elem->parent[i].oid, - abbrev); + abb = repo_find_unique_abbrev(the_repository, + &elem->parent[i].oid, abbrev); printf("%s%s", i ? "," : "", abb); } - abb = find_unique_abbrev(&elem->oid, abbrev); + abb = repo_find_unique_abbrev(the_repository, &elem->oid, abbrev); printf("..%s%s\n", abb, c_reset); if (mode_differs) { diff --git a/commit.c b/commit.c index e433c33bb0..06a7c728e8 100644 --- a/commit.c +++ b/commit.c @@ -80,7 +80,7 @@ struct commit *lookup_commit_reference_by_name(const char *name) struct object_id oid; struct commit *commit; - if (get_oid_committish(name, &oid)) + if (repo_get_oid_committish(the_repository, name, &oid)) return NULL; commit = lookup_commit_reference(the_repository, &oid); if (parse_commit(commit)) @@ -1271,7 +1271,8 @@ void verify_merge_signature(struct commit *commit, int verbosity, ret = check_commit_signature(commit, &signature_check); - find_unique_abbrev_r(hex, &commit->object.oid, DEFAULT_ABBREV); + repo_find_unique_abbrev_r(the_repository, hex, &commit->object.oid, + DEFAULT_ABBREV); switch (signature_check.result) { case 'G': if (ret || (check_trust && signature_check.trust_level < TRUST_MARGINAL)) @@ -1632,10 +1633,11 @@ struct commit *get_merge_parent(const char *name) struct object *obj; struct commit *commit; struct object_id oid; - if (get_oid(name, &oid)) + if (repo_get_oid(the_repository, name, &oid)) return NULL; obj = parse_object(the_repository, &oid); - commit = (struct commit *)peel_to_type(name, 0, obj, OBJ_COMMIT); + commit = (struct commit *)repo_peel_to_type(the_repository, name, 0, + obj, OBJ_COMMIT); if (commit && !merge_remote_util(commit)) set_merge_remote_desc(commit, name, obj); return commit; diff --git a/contrib/coccinelle/the_repository.cocci b/contrib/coccinelle/the_repository.cocci new file mode 100644 index 0000000000..dcdba314fc --- /dev/null +++ b/contrib/coccinelle/the_repository.cocci @@ -0,0 +1,44 @@ +// Fully migrated "the_repository" additions +@@ +@@ +( +// cache.h +- get_oid ++ repo_get_oid +| +- get_oid_commit ++ repo_get_oid_commit +| +- get_oid_committish ++ repo_get_oid_committish +| +- get_oid_tree ++ repo_get_oid_tree +| +- get_oid_treeish ++ repo_get_oid_treeish +| +- get_oid_blob ++ repo_get_oid_blob +| +- get_oid_mb ++ repo_get_oid_mb +| +- find_unique_abbrev ++ repo_find_unique_abbrev +| +- find_unique_abbrev_r ++ repo_find_unique_abbrev_r +| +- for_each_abbrev ++ repo_for_each_abbrev +| +- interpret_branch_name ++ repo_interpret_branch_name +| +- peel_to_type ++ repo_peel_to_type +) + ( ++ the_repository, + ...) diff --git a/contrib/coccinelle/the_repository.pending.cocci b/contrib/coccinelle/the_repository.pending.cocci index 8b3f2580e6..2d200ab83e 100644 --- a/contrib/coccinelle/the_repository.pending.cocci +++ b/contrib/coccinelle/the_repository.pending.cocci @@ -5,44 +5,7 @@ @@ @@ ( -// cache.h -- get_oid -+ repo_get_oid -| -- get_oid_commit -+ repo_get_oid_commit -| -- get_oid_committish -+ repo_get_oid_committish -| -- get_oid_tree -+ repo_get_oid_tree -| -- get_oid_treeish -+ repo_get_oid_treeish -| -- get_oid_blob -+ repo_get_oid_blob -| -- get_oid_mb -+ repo_get_oid_mb -| -- find_unique_abbrev -+ repo_find_unique_abbrev -| -- find_unique_abbrev_r -+ repo_find_unique_abbrev_r -| -- for_each_abbrev -+ repo_for_each_abbrev -| -- interpret_branch_name -+ repo_interpret_branch_name -| -- peel_to_type -+ repo_peel_to_type // commit-reach.h -| - get_merge_bases + repo_get_merge_bases | diff --git a/diff-lib.c b/diff-lib.c index dec040c366..24470b2161 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -581,7 +581,7 @@ void diff_get_merge_base(const struct rev_info *revs, struct object_id *mb) if (revs->pending.nr == 1) { struct object_id oid; - if (get_oid("HEAD", &oid)) + if (repo_get_oid(the_repository, "HEAD", &oid)) die(_("unable to get HEAD")); mb_child[1] = lookup_commit_reference(the_repository, &oid); diff --git a/diff.c b/diff.c index 469e18aed2..3abeca9d46 100644 --- a/diff.c +++ b/diff.c @@ -4351,7 +4351,7 @@ static int similarity_index(struct diff_filepair *p) static const char *diff_abbrev_oid(const struct object_id *oid, int abbrev) { if (startup_info->have_repository) - return find_unique_abbrev(oid, abbrev); + return repo_find_unique_abbrev(the_repository, oid, abbrev); else { char *hex = oid_to_hex(oid); if (abbrev < 0) @@ -4988,7 +4988,7 @@ static int diff_opt_find_object(const struct option *option, struct object_id oid; BUG_ON_OPT_NEG(unset); - if (get_oid(arg, &oid)) + if (repo_get_oid(the_repository, arg, &oid)) return error(_("unable to resolve '%s'"), arg); if (!opt->objfind) diff --git a/fmt-merge-msg.c b/fmt-merge-msg.c index f48f44f9cd..e8e2d4ea0d 100644 --- a/fmt-merge-msg.c +++ b/fmt-merge-msg.c @@ -605,7 +605,9 @@ static void find_merge_parents(struct merge_parents *result, * util field yet. */ obj = parse_object(the_repository, &oid); - parent = (struct commit *)peel_to_type(NULL, 0, obj, OBJ_COMMIT); + parent = (struct commit *)repo_peel_to_type(the_repository, + NULL, 0, obj, + OBJ_COMMIT); if (!parent) continue; commit_list_insert(parent, &parents); diff --git a/log-tree.c b/log-tree.c index 1dd5fcbf7b..f36adb947e 100644 --- a/log-tree.c +++ b/log-tree.c @@ -233,7 +233,8 @@ static void show_parents(struct commit *commit, int abbrev, FILE *file) struct commit_list *p; for (p = commit->parents; p ; p = p->next) { struct commit *parent = p->item; - fprintf(file, " %s", find_unique_abbrev(&parent->object.oid, abbrev)); + fprintf(file, " %s", + repo_find_unique_abbrev(the_repository, &parent->object.oid, abbrev)); } } @@ -241,7 +242,8 @@ static void show_children(struct rev_info *opt, struct commit *commit, int abbre { struct commit_list *p = lookup_decoration(&opt->children, &commit->object); for ( ; p; p = p->next) { - fprintf(opt->diffopt.file, " %s", find_unique_abbrev(&p->item->object.oid, abbrev)); + fprintf(opt->diffopt.file, " %s", + repo_find_unique_abbrev(the_repository, &p->item->object.oid, abbrev)); } } @@ -644,7 +646,8 @@ void show_log(struct rev_info *opt) if (!opt->graph) put_revision_mark(opt, commit); - fputs(find_unique_abbrev(&commit->object.oid, abbrev_commit), opt->diffopt.file); + fputs(repo_find_unique_abbrev(the_repository, &commit->object.oid, abbrev_commit), + opt->diffopt.file); if (opt->print_parents) show_parents(commit, abbrev_commit, opt->diffopt.file); if (opt->children.name) @@ -706,8 +709,8 @@ void show_log(struct rev_info *opt) if (!opt->graph) put_revision_mark(opt, commit); - fputs(find_unique_abbrev(&commit->object.oid, - abbrev_commit), + fputs(repo_find_unique_abbrev(the_repository, &commit->object.oid, + abbrev_commit), opt->diffopt.file); if (opt->print_parents) show_parents(commit, abbrev_commit, opt->diffopt.file); @@ -715,7 +718,7 @@ void show_log(struct rev_info *opt) show_children(opt, commit, abbrev_commit); if (parent) fprintf(opt->diffopt.file, " (from %s)", - find_unique_abbrev(&parent->object.oid, abbrev_commit)); + repo_find_unique_abbrev(the_repository, &parent->object.oid, abbrev_commit)); fputs(diff_get_color_opt(&opt->diffopt, DIFF_RESET), opt->diffopt.file); show_decorations(opt, commit); if (opt->commit_format == CMIT_FMT_ONELINE) { diff --git a/mailmap.c b/mailmap.c index da2589b082..ed8289aea5 100644 --- a/mailmap.c +++ b/mailmap.c @@ -213,7 +213,7 @@ static int read_mailmap_blob(struct string_list *map, const char *name) if (!name) return 0; - if (get_oid(name, &oid) < 0) + if (repo_get_oid(the_repository, name, &oid) < 0) return 0; buf = read_object_file(&oid, &type, &size); diff --git a/notes-merge.c b/notes-merge.c index b4cc594a79..d290c7478e 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -566,7 +566,7 @@ int notes_merge(struct notes_merge_options *o, trace_printf("\tlocal commit: %.7s\n", oid_to_hex(&local_oid)); /* Dereference o->remote_ref into remote_oid */ - if (get_oid(o->remote_ref, &remote_oid)) { + if (repo_get_oid(the_repository, o->remote_ref, &remote_oid)) { /* * Failed to get remote_oid. If o->remote_ref looks like an * unborn ref, perform the merge using an empty notes tree. diff --git a/notes.c b/notes.c index f2805d51bb..750e18c400 100644 --- a/notes.c +++ b/notes.c @@ -944,7 +944,7 @@ void string_list_add_refs_by_glob(struct string_list *list, const char *glob) for_each_glob_ref(string_list_add_one_ref, glob, list); } else { struct object_id oid; - if (get_oid(glob, &oid)) + if (repo_get_oid(the_repository, glob, &oid)) warning("notes ref %s is invalid", glob); if (!unsorted_string_list_has_string(list, glob)) string_list_append(list, glob); @@ -1021,7 +1021,7 @@ void init_notes(struct notes_tree *t, const char *notes_ref, t->dirty = 0; if (flags & NOTES_INIT_EMPTY || !notes_ref || - get_oid_treeish(notes_ref, &object_oid)) + repo_get_oid_treeish(the_repository, notes_ref, &object_oid)) return; if (flags & NOTES_INIT_WRITABLE && read_ref(notes_ref, &object_oid)) die("Cannot use notes ref %s", notes_ref); @@ -1348,7 +1348,7 @@ void expand_loose_notes_ref(struct strbuf *sb) { struct object_id object; - if (get_oid(sb->buf, &object)) { + if (repo_get_oid(the_repository, sb->buf, &object)) { /* fallback to expand_notes_ref */ expand_notes_ref(sb); } diff --git a/object-name.c b/object-name.c index 2dd1a0f56e..21e8f67489 100644 --- a/object-name.c +++ b/object-name.c @@ -1666,7 +1666,8 @@ void strbuf_branchname(struct strbuf *sb, const char *name, unsigned allowed) struct interpret_branch_name_options options = { .allowed = allowed }; - int used = interpret_branch_name(name, len, sb, &options); + int used = repo_interpret_branch_name(the_repository, name, len, sb, + &options); if (used < 0) used = 0; @@ -1719,7 +1720,7 @@ int get_oidf(struct object_id *oid, const char *fmt, ...) strbuf_vaddf(&sb, fmt, ap); va_end(ap); - ret = get_oid(sb.buf, oid); + ret = repo_get_oid(the_repository, sb.buf, oid); strbuf_release(&sb); return ret; diff --git a/parse-options-cb.c b/parse-options-cb.c index d346dbe210..0f7b40d0c0 100644 --- a/parse-options-cb.c +++ b/parse-options-cb.c @@ -91,7 +91,7 @@ int parse_opt_commits(const struct option *opt, const char *arg, int unset) if (!arg) return -1; - if (get_oid(arg, &oid)) + if (repo_get_oid(the_repository, arg, &oid)) return error("malformed object name %s", arg); commit = lookup_commit_reference(the_repository, &oid); if (!commit) @@ -110,7 +110,7 @@ int parse_opt_commit(const struct option *opt, const char *arg, int unset) if (!arg) return -1; - if (get_oid(arg, &oid)) + if (repo_get_oid(the_repository, arg, &oid)) return error("malformed object name %s", arg); commit = lookup_commit_reference(the_repository, &oid); if (!commit) @@ -129,7 +129,7 @@ int parse_opt_object_name(const struct option *opt, const char *arg, int unset) } if (!arg) return -1; - if (get_oid(arg, &oid)) + if (repo_get_oid(the_repository, arg, &oid)) return error(_("malformed object name '%s'"), arg); oid_array_append(opt->value, &oid); return 0; @@ -146,7 +146,7 @@ int parse_opt_object_id(const struct option *opt, const char *arg, int unset) } if (!arg) return -1; - if (get_oid(arg, &oid)) + if (repo_get_oid(the_repository, arg, &oid)) return error(_("malformed object name '%s'"), arg); *target = oid; return 0; diff --git a/range-diff.c b/range-diff.c index 4bd65ab749..5bcf966f6c 100644 --- a/range-diff.c +++ b/range-diff.c @@ -94,7 +94,7 @@ static int read_patches(const char *range, struct string_list *list, strbuf_reset(&buf); } CALLOC_ARRAY(util, 1); - if (get_oid(p, &util->oid)) { + if (repo_get_oid(the_repository, p, &util->oid)) { error(_("could not parse commit '%s'"), p); FREE_AND_NULL(util); string_list_clear(list, 1); @@ -390,7 +390,7 @@ static void output_pair_header(struct diff_options *diffopt, if (!dashes->len) strbuf_addchars(dashes, '-', - strlen(find_unique_abbrev(oid, abbrev))); + strlen(repo_find_unique_abbrev(the_repository, oid, abbrev))); if (!b_util) { color = color_old; @@ -412,7 +412,7 @@ static void output_pair_header(struct diff_options *diffopt, strbuf_addf(buf, "%*s: %s ", patch_no_width, "-", dashes->buf); else strbuf_addf(buf, "%*d: %s ", patch_no_width, a_util->i + 1, - find_unique_abbrev(&a_util->oid, abbrev)); + repo_find_unique_abbrev(the_repository, &a_util->oid, abbrev)); if (status == '!') strbuf_addf(buf, "%s%s", color_reset, color); @@ -424,7 +424,7 @@ static void output_pair_header(struct diff_options *diffopt, strbuf_addf(buf, " %*s: %s", patch_no_width, "-", dashes->buf); else strbuf_addf(buf, " %*d: %s", patch_no_width, b_util->i + 1, - find_unique_abbrev(&b_util->oid, abbrev)); + repo_find_unique_abbrev(the_repository, &b_util->oid, abbrev)); commit = lookup_commit_reference(the_repository, oid); if (commit) { diff --git a/read-cache.c b/read-cache.c index 35e5657877..d6c69164d0 100644 --- a/read-cache.c +++ b/read-cache.c @@ -2628,7 +2628,7 @@ int repo_index_has_changes(struct repository *repo, if (tree) cmp = tree->object.oid; - if (tree || !get_oid_tree("HEAD", &cmp)) { + if (tree || !repo_get_oid_tree(the_repository, "HEAD", &cmp)) { struct diff_options opt; repo_diff_setup(repo, &opt); diff --git a/rebase-interactive.c b/rebase-interactive.c index 7407c59319..c151db0ad2 100644 --- a/rebase-interactive.c +++ b/rebase-interactive.c @@ -187,7 +187,7 @@ int todo_list_check(struct todo_list *old_todo, struct todo_list *new_todo) struct commit *commit = item->commit; if (commit && !*commit_seen_at(&commit_seen, commit)) { strbuf_addf(&missing, " - %s %.*s\n", - find_unique_abbrev(&commit->object.oid, DEFAULT_ABBREV), + repo_find_unique_abbrev(the_repository, &commit->object.oid, DEFAULT_ABBREV), item->arg_len, todo_item_get_arg(old_todo, item)); *commit_seen_at(&commit_seen, commit) = 1; diff --git a/ref-filter.c b/ref-filter.c index f8203c6b05..c6cd131e70 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -1075,9 +1075,11 @@ static const char *do_grab_oid(const char *field, const struct object_id *oid, case O_FULL: return oid_to_hex(oid); case O_LENGTH: - return find_unique_abbrev(oid, atom->u.oid.length); + return repo_find_unique_abbrev(the_repository, oid, + atom->u.oid.length); case O_SHORT: - return find_unique_abbrev(oid, DEFAULT_ABBREV); + return repo_find_unique_abbrev(the_repository, oid, + DEFAULT_ABBREV); default: BUG("unknown %%(%s) option", field); } @@ -2765,7 +2767,7 @@ int parse_opt_merge_filter(const struct option *opt, const char *arg, int unset) BUG_ON_OPT_NEG(unset); - if (get_oid(arg, &oid)) + if (repo_get_oid(the_repository, arg, &oid)) die(_("malformed object name %s"), arg); merge_commit = lookup_commit_reference_gently(the_repository, &oid, 0); diff --git a/remote.c b/remote.c index 60869beebe..ff9b023831 100644 --- a/remote.c +++ b/remote.c @@ -1163,7 +1163,7 @@ static int try_explicit_object_name(const char *name, return 0; } - if (get_oid(name, &oid)) + if (repo_get_oid(the_repository, name, &oid)) return -1; if (match) { @@ -1251,7 +1251,7 @@ static void show_push_unqualified_ref_name_error(const char *dst_value, if (!advice_enabled(ADVICE_PUSH_UNQUALIFIED_REF_NAME)) return; - if (get_oid(matched_src_name, &oid)) + if (repo_get_oid(the_repository, matched_src_name, &oid)) BUG("'%s' is not a valid object, " "match_explicit_lhs() should catch this!", matched_src_name); @@ -2505,7 +2505,7 @@ static int parse_push_cas_option(struct push_cas_option *cas, const char *arg, i entry->use_tracking = 1; else if (!colon[1]) oidclr(&entry->expect); - else if (get_oid(colon + 1, &entry->expect)) + else if (repo_get_oid(the_repository, colon + 1, &entry->expect)) return error(_("cannot parse expected object name '%s'"), colon + 1); return 0; diff --git a/reset.c b/reset.c index 5ded23611f..3a9c6dfdd0 100644 --- a/reset.c +++ b/reset.c @@ -38,7 +38,7 @@ static int update_refs(const struct reset_head_opts *opts, prefix_len = msg.len; if (update_orig_head) { - if (!get_oid("ORIG_HEAD", &oid_old_orig)) + if (!repo_get_oid(the_repository, "ORIG_HEAD", &oid_old_orig)) old_orig = &oid_old_orig; if (head) { if (!reflog_orig_head) { @@ -106,7 +106,7 @@ int reset_head(struct repository *r, const struct reset_head_opts *opts) goto leave_reset_head; } - if (!get_oid("HEAD", &head_oid)) { + if (!repo_get_oid(the_repository, "HEAD", &head_oid)) { head = &head_oid; } else if (!oid || !reset_hard) { ret = error(_("could not determine HEAD revision")); diff --git a/revision.c b/revision.c index 21f5f572c2..0f775ee2e9 100644 --- a/revision.c +++ b/revision.c @@ -324,7 +324,8 @@ static void add_pending_object_with_path(struct rev_info *revs, if (revs->reflog_info && obj->type == OBJ_COMMIT) { struct strbuf buf = STRBUF_INIT; size_t namelen = strlen(name); - int len = interpret_branch_name(name, namelen, &buf, &options); + int len = repo_interpret_branch_name(the_repository, name, + namelen, &buf, &options); if (0 < len && len < namelen && buf.len) strbuf_addstr(&buf, name + len); @@ -354,7 +355,7 @@ void add_head_to_pending(struct rev_info *revs) { struct object_id oid; struct object *obj; - if (get_oid("HEAD", &oid)) + if (repo_get_oid(the_repository, "HEAD", &oid)) return; obj = parse_object(revs->repo, &oid); if (!obj) @@ -1867,7 +1868,7 @@ static int add_parents_only(struct rev_info *revs, const char *arg_, int flags, flags ^= UNINTERESTING | BOTTOM; arg++; } - if (get_oid_committish(arg, &oid)) + if (repo_get_oid_committish(the_repository, arg, &oid)) return 0; while (1) { it = get_reference(revs, arg, &oid, 0); @@ -1948,10 +1949,10 @@ static void prepare_show_merge(struct rev_info *revs) int i, prune_num = 1; /* counting terminating NULL */ struct index_state *istate = revs->repo->index; - if (get_oid("HEAD", &oid)) + if (repo_get_oid(the_repository, "HEAD", &oid)) die("--merge without HEAD?"); head = lookup_commit_or_die(&oid, "HEAD"); - if (get_oid("MERGE_HEAD", &oid)) + if (repo_get_oid(the_repository, "MERGE_HEAD", &oid)) die("--merge without MERGE_HEAD?"); other = lookup_commit_or_die(&oid, "MERGE_HEAD"); add_pending_object(revs, &head->object, "HEAD"); diff --git a/sequencer.c b/sequencer.c index 1c96a75b1e..818932a630 100644 --- a/sequencer.c +++ b/sequencer.c @@ -419,7 +419,8 @@ struct commit_message { static const char *short_commit_name(struct commit *commit) { - return find_unique_abbrev(&commit->object.oid, DEFAULT_ABBREV); + return repo_find_unique_abbrev(the_repository, &commit->object.oid, + DEFAULT_ABBREV); } static int get_message(struct commit *commit, struct commit_message *out) @@ -561,7 +562,7 @@ static void update_abort_safety_file(void) if (!file_exists(git_path_seq_dir())) return; - if (!get_oid("HEAD", &head)) + if (!repo_get_oid(the_repository, "HEAD", &head)) write_file(git_path_abort_safety_file(), "%s", oid_to_hex(&head)); else write_file(git_path_abort_safety_file(), "%s", ""); @@ -1406,7 +1407,7 @@ static int parse_head(struct repository *r, struct commit **head) struct commit *current_head; struct object_id oid; - if (get_oid("HEAD", &oid)) { + if (repo_get_oid(the_repository, "HEAD", &oid)) { current_head = NULL; } else { current_head = lookup_commit_reference(r, &oid); @@ -1997,7 +1998,7 @@ static int update_squash_messages(struct repository *r, struct commit *head_commit; const char *head_message, *body; - if (get_oid("HEAD", &head)) + if (repo_get_oid(the_repository, "HEAD", &head)) return error(_("need a HEAD to fixup")); if (!(head_commit = lookup_commit_reference(r, &head))) return error(_("could not read HEAD")); @@ -2067,7 +2068,7 @@ static void flush_rewritten_pending(void) FILE *out; if (strbuf_read_file(&buf, rebase_path_rewritten_pending(), (GIT_MAX_HEXSZ + 1) * 2) > 0 && - !get_oid("HEAD", &newoid) && + !repo_get_oid(the_repository, "HEAD", &newoid) && (out = fopen_or_warn(rebase_path_rewritten_list(), "a"))) { char *bol = buf.buf, *eol; @@ -2152,7 +2153,7 @@ static int do_pick_commit(struct repository *r, if (write_index_as_tree(&head, r->index, r->index_file, 0, NULL)) return error(_("your index file is unmerged.")); } else { - unborn = get_oid("HEAD", &head); + unborn = repo_get_oid(the_repository, "HEAD", &head); /* Do we want to generate a root commit? */ if (is_pick_or_similar(command) && opts->have_squash_onto && oideq(&head, &opts->squash_onto)) { @@ -2606,7 +2607,7 @@ static int parse_insn_line(struct repository *r, struct todo_item *item, end_of_object_name = (char *) bol + strcspn(bol, " \t\n"); saved = *end_of_object_name; *end_of_object_name = '\0'; - status = get_oid(bol, &commit_oid); + status = repo_get_oid(the_repository, bol, &commit_oid); if (status < 0) error(_("could not parse '%s'"), bol); /* return later */ *end_of_object_name = saved; @@ -3022,7 +3023,7 @@ static int read_populate_opts(struct replay_opts *opts) } if (read_oneliner(&buf, rebase_path_squash_onto(), 0)) { - if (get_oid_committish(buf.buf, &opts->squash_onto) < 0) { + if (repo_get_oid_committish(the_repository, buf.buf, &opts->squash_onto) < 0) { ret = error(_("unusable squash-onto")); goto done_rebase_i; } @@ -3223,7 +3224,7 @@ static int rollback_is_safe(void) else die_errno(_("could not read '%s'"), git_path_abort_safety_file()); - if (get_oid("HEAD", &actual_head)) + if (repo_get_oid(the_repository, "HEAD", &actual_head)) oidclr(&actual_head); return oideq(&actual_head, &expected_head); @@ -3534,7 +3535,7 @@ static int intend_to_amend(void) struct object_id head; char *p; - if (get_oid("HEAD", &head)) + if (repo_get_oid(the_repository, "HEAD", &head)) return error(_("cannot read HEAD")); p = oid_to_hex(&head); @@ -3700,7 +3701,7 @@ static int do_label(struct repository *r, const char *name, int len) if (!transaction) { error("%s", err.buf); ret = -1; - } else if (get_oid("HEAD", &head_oid)) { + } else if (repo_get_oid(the_repository, "HEAD", &head_oid)) { error(_("could not read HEAD")); ret = -1; } else if (ref_transaction_update(transaction, ref_name.buf, &head_oid, @@ -4456,7 +4457,7 @@ void create_autostash(struct repository *r, const char *path) if (capture_command(&stash, &buf, GIT_MAX_HEXSZ)) die(_("Cannot autostash")); strbuf_trim_trailing_newline(&buf); - if (get_oid(buf.buf, &oid)) + if (repo_get_oid(the_repository, buf.buf, &oid)) die(_("Unexpected stash response: '%s'"), buf.buf); strbuf_reset(&buf); @@ -4581,7 +4582,7 @@ static int stopped_at_head(struct repository *r) struct commit *commit; struct commit_message message; - if (get_oid("HEAD", &head) || + if (repo_get_oid(the_repository, "HEAD", &head) || !(commit = lookup_commit(r, &head)) || parse_commit(commit) || get_message(commit, &message)) fprintf(stderr, _("Stopped at HEAD\n")); @@ -4731,7 +4732,7 @@ static int pick_commits(struct repository *r, * otherwise we do not. */ if (item->command == TODO_REWORD && - !get_oid("HEAD", &oid) && + !repo_get_oid(the_repository, "HEAD", &oid) && (oideq(&item->commit->object.oid, &oid) || (opts->have_squash_onto && oideq(&opts->squash_onto, &oid)))) @@ -4820,7 +4821,7 @@ static int pick_commits(struct repository *r, struct object_id head, orig; int res; - if (get_oid("HEAD", &head)) { + if (repo_get_oid(the_repository, "HEAD", &head)) { res = error(_("cannot read HEAD")); cleanup_head_ref: strbuf_release(&head_ref); @@ -4867,8 +4868,8 @@ static int pick_commits(struct repository *r, log_tree_opt.disable_stdin = 1; if (read_oneliner(&buf, rebase_path_orig_head(), 0) && - !get_oid(buf.buf, &orig) && - !get_oid("HEAD", &head)) { + !repo_get_oid(the_repository, buf.buf, &orig) && + !repo_get_oid(the_repository, "HEAD", &head)) { diff_tree_oid(&orig, &head, "", &log_tree_opt.diffopt); log_tree_diff_flush(&log_tree_opt); @@ -4960,7 +4961,7 @@ static int commit_staged_changes(struct repository *r, struct strbuf rev = STRBUF_INIT; struct object_id head, to_amend; - if (get_oid("HEAD", &head)) + if (repo_get_oid(the_repository, "HEAD", &head)) return error(_("cannot amend non-existing commit")); if (!read_oneliner(&rev, rebase_path_amend(), 0)) return error(_("invalid file: '%s'"), rebase_path_amend()); @@ -5185,7 +5186,7 @@ int sequencer_pick_revisions(struct repository *r, if (!strlen(name)) continue; - if (!get_oid(name, &oid)) { + if (!repo_get_oid(the_repository, name, &oid)) { if (!lookup_commit_reference_gently(r, &oid, 1)) { enum object_type type = oid_object_info(r, &oid, @@ -5228,7 +5229,7 @@ int sequencer_pick_revisions(struct repository *r, if (walk_revs_populate_todo(&todo_list, opts) || create_seq_dir(r) < 0) return -1; - if (get_oid("HEAD", &oid) && (opts->action == REPLAY_REVERT)) + if (repo_get_oid(the_repository, "HEAD", &oid) && (opts->action == REPLAY_REVERT)) return error(_("can't revert as initial commit")); if (save_head(oid_to_hex(&oid))) return -1; @@ -5360,7 +5361,8 @@ static const char *label_oid(struct object_id *oid, const char *label, strbuf_grow(&state->buf, GIT_MAX_HEXSZ); label = p = state->buf.buf; - find_unique_abbrev_r(p, oid, default_abbrev); + repo_find_unique_abbrev_r(the_repository, p, oid, + default_abbrev); /* * We may need to extend the abbreviated hash so that there is @@ -6093,7 +6095,8 @@ int complete_action(struct repository *r, struct replay_opts *opts, unsigned fla struct object_id oid = onto->object.oid; int res; - find_unique_abbrev_r(shortonto, &oid, DEFAULT_ABBREV); + repo_find_unique_abbrev_r(the_repository, shortonto, &oid, + DEFAULT_ABBREV); if (buf->len == 0) { struct todo_item *item = append_new_todo(todo_list); @@ -6369,8 +6372,8 @@ int sequencer_determine_whence(struct repository *r, enum commit_whence *whence) if (file_exists(git_path_seq_dir())) *whence = FROM_CHERRY_PICK_MULTI; if (file_exists(rebase_path()) && - !get_oid("REBASE_HEAD", &rebase_head) && - !get_oid("CHERRY_PICK_HEAD", &cherry_pick_head) && + !repo_get_oid(the_repository, "REBASE_HEAD", &rebase_head) && + !repo_get_oid(the_repository, "CHERRY_PICK_HEAD", &cherry_pick_head) && oideq(&rebase_head, &cherry_pick_head)) *whence = FROM_REBASE_PICK; else diff --git a/submodule-config.c b/submodule-config.c index 4dc61b3a78..336732ed78 100644 --- a/submodule-config.c +++ b/submodule-config.c @@ -535,7 +535,7 @@ static int gitmodule_oid_from_commit(const struct object_id *treeish_name, } strbuf_addf(rev, "%s:.gitmodules", oid_to_hex(treeish_name)); - if (get_oid(rev->buf, gitmodules_oid) >= 0) + if (repo_get_oid(the_repository, rev->buf, gitmodules_oid) >= 0) ret = 1; return ret; diff --git a/submodule.c b/submodule.c index 3a0dfc417c..5936553464 100644 --- a/submodule.c +++ b/submodule.c @@ -65,7 +65,7 @@ int is_writing_gitmodules_ok(void) { struct object_id oid; return file_exists(GITMODULES_FILE) || - (get_oid(GITMODULES_INDEX, &oid) < 0 && get_oid(GITMODULES_HEAD, &oid) < 0); + (repo_get_oid(the_repository, GITMODULES_INDEX, &oid) < 0 && repo_get_oid(the_repository, GITMODULES_HEAD, &oid) < 0); } /* @@ -1625,7 +1625,7 @@ get_fetch_task_from_changed(struct submodule_parallel_fetch *spf, if (!task->repo) { strbuf_addf(err, _("Could not access submodule '%s' at commit %s\n"), cs_data->path, - find_unique_abbrev(cs_data->super_oid, DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, cs_data->super_oid, DEFAULT_ABBREV)); fetch_task_release(task); free(task); @@ -1636,8 +1636,8 @@ get_fetch_task_from_changed(struct submodule_parallel_fetch *spf, strbuf_addf(err, _("Fetching submodule %s%s at commit %s\n"), spf->prefix, task->sub->path, - find_unique_abbrev(cs_data->super_oid, - DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, cs_data->super_oid, + DEFAULT_ABBREV)); spf->changed_count++; /* diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c index efc82dd80c..5d1284328d 100644 --- a/t/helper/test-fast-rebase.c +++ b/t/helper/test-fast-rebase.c @@ -25,7 +25,8 @@ static const char *short_commit_name(struct commit *commit) { - return find_unique_abbrev(&commit->object.oid, DEFAULT_ABBREV); + return repo_find_unique_abbrev(the_repository, &commit->object.oid, + DEFAULT_ABBREV); } static struct commit *peel_committish(const char *name) @@ -33,10 +34,11 @@ static struct commit *peel_committish(const char *name) struct object *obj; struct object_id oid; - if (get_oid(name, &oid)) + if (repo_get_oid(the_repository, name, &oid)) return NULL; obj = parse_object(the_repository, &oid); - return (struct commit *)peel_to_type(name, 0, obj, OBJ_COMMIT); + return (struct commit *)repo_peel_to_type(the_repository, name, 0, obj, + OBJ_COMMIT); } static char *get_author(const char *message) @@ -119,7 +121,7 @@ int cmd__fast_rebase(int argc, const char **argv) strbuf_addf(&branch_name, "refs/heads/%s", argv[4]); /* Sanity check */ - if (get_oid("HEAD", &head)) + if (repo_get_oid(the_repository, "HEAD", &head)) die(_("Cannot read HEAD")); assert(oideq(&onto->object.oid, &head)); diff --git a/t/helper/test-match-trees.c b/t/helper/test-match-trees.c index 4079fdee06..daadf3827a 100644 --- a/t/helper/test-match-trees.c +++ b/t/helper/test-match-trees.c @@ -9,9 +9,9 @@ int cmd__match_trees(int ac, const char **av) setup_git_directory(); - if (get_oid(av[1], &hash1)) + if (repo_get_oid(the_repository, av[1], &hash1)) die("cannot parse %s as an object name", av[1]); - if (get_oid(av[2], &hash2)) + if (repo_get_oid(the_repository, av[2], &hash2)) die("cannot parse %s as an object name", av[2]); one = parse_tree_indirect(&hash1); if (!one) diff --git a/t/helper/test-oidmap.c b/t/helper/test-oidmap.c index 0acf99931e..7b194edde2 100644 --- a/t/helper/test-oidmap.c +++ b/t/helper/test-oidmap.c @@ -49,7 +49,7 @@ int cmd__oidmap(int argc, const char **argv) if (!strcmp("put", cmd) && p1 && p2) { - if (get_oid(p1, &oid)) { + if (repo_get_oid(the_repository, p1, &oid)) { printf("Unknown oid: %s\n", p1); continue; } @@ -67,7 +67,7 @@ int cmd__oidmap(int argc, const char **argv) } else if (!strcmp("get", cmd) && p1) { - if (get_oid(p1, &oid)) { + if (repo_get_oid(the_repository, p1, &oid)) { printf("Unknown oid: %s\n", p1); continue; } @@ -80,7 +80,7 @@ int cmd__oidmap(int argc, const char **argv) } else if (!strcmp("remove", cmd) && p1) { - if (get_oid(p1, &oid)) { + if (repo_get_oid(the_repository, p1, &oid)) { printf("Unknown oid: %s\n", p1); continue; } diff --git a/t/helper/test-reach.c b/t/helper/test-reach.c index 2f65c7f6a5..00f0f29a6a 100644 --- a/t/helper/test-reach.c +++ b/t/helper/test-reach.c @@ -57,7 +57,7 @@ int cmd__reach(int ac, const char **av) if (buf.len < 3) continue; - if (get_oid_committish(buf.buf + 2, &oid)) + if (repo_get_oid_committish(the_repository, buf.buf + 2, &oid)) die("failed to resolve %s", buf.buf + 2); orig = parse_object(r, &oid); diff --git a/t/helper/test-submodule-config.c b/t/helper/test-submodule-config.c index 22a41c4092..91c82d4159 100644 --- a/t/helper/test-submodule-config.c +++ b/t/helper/test-submodule-config.c @@ -42,7 +42,7 @@ int cmd__submodule_config(int argc, const char **argv) if (commit[0] == '\0') oidclr(&commit_oid); - else if (get_oid(commit, &commit_oid) < 0) + else if (repo_get_oid(the_repository, commit, &commit_oid) < 0) die_usage(argc, argv, "Commit not found."); if (lookup_name) { diff --git a/tag.c b/tag.c index dfbcd7fcc2..dfc900e62e 100644 --- a/tag.c +++ b/tag.c @@ -51,7 +51,7 @@ int gpg_verify_tag(const struct object_id *oid, const char *name_to_report, return error("%s: cannot verify a non-tag object of type %s.", name_to_report ? name_to_report : - find_unique_abbrev(oid, DEFAULT_ABBREV), + repo_find_unique_abbrev(the_repository, oid, DEFAULT_ABBREV), type_name(type)); buf = read_object_file(oid, &type, &size); @@ -59,7 +59,7 @@ int gpg_verify_tag(const struct object_id *oid, const char *name_to_report, return error("%s: unable to read file.", name_to_report ? name_to_report : - find_unique_abbrev(oid, DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, oid, DEFAULT_ABBREV)); ret = run_gpg_verify(buf, size, flags); diff --git a/transport-helper.c b/transport-helper.c index 3ea7c2bb5a..2a1b4497ca 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -1081,7 +1081,7 @@ static int push_refs_with_export(struct transport *transport, struct object_id oid; private = apply_refspecs(&data->rs, ref->name); - if (private && !get_oid(private, &oid)) { + if (private && !repo_get_oid(the_repository, private, &oid)) { strbuf_addf(&buf, "^%s", private); string_list_append_nodup(&revlist_args, strbuf_detach(&buf, NULL)); diff --git a/transport.c b/transport.c index 77a61a9d7b..7488622e77 100644 --- a/transport.c +++ b/transport.c @@ -776,7 +776,8 @@ static int print_one_push_status(struct ref *ref, const char *dest, int count, static int measure_abbrev(const struct object_id *oid, int sofar) { char hex[GIT_MAX_HEXSZ + 1]; - int w = find_unique_abbrev_r(hex, oid, DEFAULT_ABBREV); + int w = repo_find_unique_abbrev_r(the_repository, hex, oid, + DEFAULT_ABBREV); return (w < sofar) ? sofar : w; } diff --git a/wt-status.c b/wt-status.c index 3162241a57..c55c51b192 100644 --- a/wt-status.c +++ b/wt-status.c @@ -1337,7 +1337,7 @@ static void abbrev_oid_in_line(struct strbuf *line) * it after abbreviation. */ strbuf_trim(split[1]); - if (!get_oid(split[1]->buf, &oid)) { + if (!repo_get_oid(the_repository, split[1]->buf, &oid)) { strbuf_reset(split[1]); strbuf_add_unique_abbrev(split[1], &oid, DEFAULT_ABBREV); @@ -1503,8 +1503,8 @@ static void show_cherry_pick_in_progress(struct wt_status *s, else status_printf_ln(s, color, _("You are currently cherry-picking commit %s."), - find_unique_abbrev(&s->state.cherry_pick_head_oid, - DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &s->state.cherry_pick_head_oid, + DEFAULT_ABBREV)); if (s->hints) { if (has_unmerged(s)) @@ -1533,8 +1533,8 @@ static void show_revert_in_progress(struct wt_status *s, else status_printf_ln(s, color, _("You are currently reverting commit %s."), - find_unique_abbrev(&s->state.revert_head_oid, - DEFAULT_ABBREV)); + repo_find_unique_abbrev(the_repository, &s->state.revert_head_oid, + DEFAULT_ABBREV)); if (s->hints) { if (has_unmerged(s)) status_printf_ln(s, color, @@ -1676,9 +1676,9 @@ static void wt_status_get_detached_from(struct repository *r, state->detached_from = xstrdup(from); } else state->detached_from = - xstrdup(find_unique_abbrev(&cb.noid, DEFAULT_ABBREV)); + xstrdup(repo_find_unique_abbrev(the_repository, &cb.noid, DEFAULT_ABBREV)); oidcpy(&state->detached_oid, &cb.noid); - state->detached_at = !get_oid("HEAD", &oid) && + state->detached_at = !repo_get_oid(the_repository, "HEAD", &oid) && oideq(&oid, &state->detached_oid); free(ref); @@ -1769,13 +1769,13 @@ void wt_status_get_state(struct repository *r, } else if (wt_status_check_rebase(NULL, state)) { ; /* all set */ } else if (refs_ref_exists(get_main_ref_store(r), "CHERRY_PICK_HEAD") && - !get_oid("CHERRY_PICK_HEAD", &oid)) { + !repo_get_oid(the_repository, "CHERRY_PICK_HEAD", &oid)) { state->cherry_pick_in_progress = 1; oidcpy(&state->cherry_pick_head_oid, &oid); } wt_status_check_bisect(NULL, state); if (refs_ref_exists(get_main_ref_store(r), "REVERT_HEAD") && - !get_oid("REVERT_HEAD", &oid)) { + !repo_get_oid(the_repository, "REVERT_HEAD", &oid)) { state->revert_in_progress = 1; oidcpy(&state->revert_head_oid, &oid); } -- cgit 1.2.3-korg From cb338c23d6d518947bf6f7240bf30e2ec232bd3b Mon Sep 17 00:00:00 2001 From: Ævar Arnfjörð Bjarmason Date: Tue, 28 Mar 2023 15:58:47 +0200 Subject: cocci: apply the "commit-reach.h" part of "the_repository.pending" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apply the part of "the_repository.pending.cocci" pertaining to "commit-reach.h". Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- bisect.c | 3 ++- builtin/branch.c | 5 +++-- builtin/fast-import.c | 2 +- builtin/fetch.c | 3 ++- builtin/log.c | 10 +++++++--- builtin/merge-base.c | 5 +++-- builtin/merge-tree.c | 3 ++- builtin/merge.c | 7 +++++-- builtin/rebase.c | 5 +++-- builtin/receive-pack.c | 2 +- builtin/rev-parse.c | 2 +- commit-reach.c | 3 ++- commit-reach.h | 9 --------- commit.c | 3 ++- contrib/coccinelle/the_repository.cocci | 16 ++++++++++++++++ contrib/coccinelle/the_repository.pending.cocci | 16 ---------------- http-push.c | 2 +- log-tree.c | 2 +- merge-ort.c | 2 +- merge-recursive.c | 2 +- notes-merge.c | 2 +- remote.c | 2 +- revision.c | 4 ++-- sequencer.c | 3 ++- shallow.c | 9 +++++---- t/helper/test-reach.c | 10 +++++++--- 26 files changed, 72 insertions(+), 60 deletions(-) (limited to 'commit.c') diff --git a/bisect.c b/bisect.c index ef5ee5a643..3088516e17 100644 --- a/bisect.c +++ b/bisect.c @@ -846,7 +846,8 @@ static enum bisect_error check_merge_bases(int rev_nr, struct commit **rev, int enum bisect_error res = BISECT_OK; struct commit_list *result; - result = get_merge_bases_many(rev[0], rev_nr - 1, rev + 1); + result = repo_get_merge_bases_many(the_repository, rev[0], rev_nr - 1, + rev + 1); for (; result; result = result->next) { const struct object_id *mb = &result->item->object.oid; diff --git a/builtin/branch.c b/builtin/branch.c index 968ea03c05..bbcfb34b3c 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -150,7 +150,8 @@ static int branch_merged(int kind, const char *name, if (!reference_rev) reference_rev = head_rev; - merged = reference_rev ? in_merge_bases(rev, reference_rev) : 0; + merged = reference_rev ? repo_in_merge_bases(the_repository, rev, + reference_rev) : 0; /* * After the safety valve is fully redefined to "check with @@ -160,7 +161,7 @@ static int branch_merged(int kind, const char *name, * a gentle reminder is in order. */ if ((head_rev != reference_rev) && - (head_rev ? in_merge_bases(rev, head_rev) : 0) != merged) { + (head_rev ? repo_in_merge_bases(the_repository, rev, head_rev) : 0) != merged) { if (merged) warning(_("deleting branch '%s' that has been merged to\n" " '%s', but not yet merged to HEAD."), diff --git a/builtin/fast-import.c b/builtin/fast-import.c index f533b768ef..2098c0c5a3 100644 --- a/builtin/fast-import.c +++ b/builtin/fast-import.c @@ -1625,7 +1625,7 @@ static int update_branch(struct branch *b) if (!old_cmit || !new_cmit) return error("Branch %s is missing commits.", b->name); - if (!in_merge_bases(old_cmit, new_cmit)) { + if (!repo_in_merge_bases(the_repository, old_cmit, new_cmit)) { warning("Not updating %s" " (new tip %s does not contain %s)", b->name, oid_to_hex(&b->oid), diff --git a/builtin/fetch.c b/builtin/fetch.c index 80cf1d0158..db8815032f 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -965,7 +965,8 @@ static int update_local_ref(struct ref *ref, if (fetch_show_forced_updates) { uint64_t t_before = getnanotime(); - fast_forward = in_merge_bases(current, updated); + fast_forward = repo_in_merge_bases(the_repository, current, + updated); forced_updates_ms += (getnanotime() - t_before) / 1000000; } else { fast_forward = 1; diff --git a/builtin/log.c b/builtin/log.c index b4c38f6ad8..5604b4b5f0 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1649,7 +1649,9 @@ static struct commit *get_base_commit(const char *base_commit, return NULL; } commit = lookup_commit_or_die(&oid, "upstream base"); - base_list = get_merge_bases_many(commit, total, list); + base_list = repo_get_merge_bases_many(the_repository, + commit, total, + list); /* There should be one and only one merge base. */ if (!base_list || base_list->next) { if (die_on_failure) { @@ -1683,7 +1685,9 @@ static struct commit *get_base_commit(const char *base_commit, while (rev_nr > 1) { for (i = 0; i < rev_nr / 2; i++) { struct commit_list *merge_base; - merge_base = get_merge_bases(rev[2 * i], rev[2 * i + 1]); + merge_base = repo_get_merge_bases(the_repository, + rev[2 * i], + rev[2 * i + 1]); if (!merge_base || merge_base->next) { if (die_on_failure) { die(_("failed to find exact merge base")); @@ -1701,7 +1705,7 @@ static struct commit *get_base_commit(const char *base_commit, rev_nr = DIV_ROUND_UP(rev_nr, 2); } - if (!in_merge_bases(base, rev[0])) { + if (!repo_in_merge_bases(the_repository, base, rev[0])) { if (die_on_failure) { die(_("base commit should be the ancestor of revision list")); } else { diff --git a/builtin/merge-base.c b/builtin/merge-base.c index 688d5c29b7..64d29136d1 100644 --- a/builtin/merge-base.c +++ b/builtin/merge-base.c @@ -13,7 +13,8 @@ static int show_merge_base(struct commit **rev, int rev_nr, int show_all) { struct commit_list *result, *r; - result = get_merge_bases_many_dirty(rev[0], rev_nr - 1, rev + 1); + result = repo_get_merge_bases_many_dirty(the_repository, rev[0], + rev_nr - 1, rev + 1); if (!result) return 1; @@ -105,7 +106,7 @@ static int handle_is_ancestor(int argc, const char **argv) die("--is-ancestor takes exactly two commits"); one = get_commit_reference(argv[0]); two = get_commit_reference(argv[1]); - if (in_merge_bases(one, two)) + if (repo_in_merge_bases(the_repository, one, two)) return 0; else return 1; diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index 828dc81c42..4e4a9d6ba1 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -452,7 +452,8 @@ static int real_merge(struct merge_tree_options *o, * Get the merge bases, in reverse order; see comment above * merge_incore_recursive in merge-ort.h */ - merge_bases = get_merge_bases(parent1, parent2); + merge_bases = repo_get_merge_bases(the_repository, parent1, + parent2); if (!merge_bases && !o->allow_unrelated_histories) die(_("refusing to merge unrelated histories")); merge_bases = reverse_commit_list(merge_bases); diff --git a/builtin/merge.c b/builtin/merge.c index 7331a0cd91..c5a9321806 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -1531,7 +1531,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix) if (!remoteheads) ; /* already up-to-date */ else if (!remoteheads->next) - common = get_merge_bases(head_commit, remoteheads->item); + common = repo_get_merge_bases(the_repository, head_commit, + remoteheads->item); else { struct commit_list *list = remoteheads; commit_list_insert(head_commit, &list); @@ -1649,7 +1650,9 @@ int cmd_merge(int argc, const char **argv, const char *prefix) * merge_bases again, otherwise "git merge HEAD^ * HEAD^^" would be missed. */ - common_one = get_merge_bases(head_commit, j->item); + common_one = repo_get_merge_bases(the_repository, + head_commit, + j->item); if (!oideq(&common_one->item->object.oid, &j->item->object.oid)) { up_to_date = 0; break; diff --git a/builtin/rebase.c b/builtin/rebase.c index d5358ca89d..5fd7bfb486 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -882,7 +882,7 @@ static int can_fast_forward(struct commit *onto, struct commit *upstream, if (!upstream) goto done; - merge_bases = get_merge_bases(upstream, head); + merge_bases = repo_get_merge_bases(the_repository, upstream, head); if (!merge_bases || merge_bases->next) goto done; @@ -901,7 +901,8 @@ static void fill_branch_base(struct rebase_options *options, { struct commit_list *merge_bases = NULL; - merge_bases = get_merge_bases(options->onto, options->orig_head); + merge_bases = repo_get_merge_bases(the_repository, options->onto, + options->orig_head); if (!merge_bases || merge_bases->next) oidcpy(branch_base, null_oid()); else diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index b5816624d2..6d4fc1368a 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -1548,7 +1548,7 @@ static const char *update(struct command *cmd, struct shallow_info *si) } old_commit = (struct commit *)old_object; new_commit = (struct commit *)new_object; - if (!in_merge_bases(old_commit, new_commit)) { + if (!repo_in_merge_bases(the_repository, old_commit, new_commit)) { rp_error("denying non-fast-forward %s" " (you should pull first)", name); ret = "non-fast-forward"; diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index eb53a303de..5685cf0ea7 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -292,7 +292,7 @@ static int try_difference(const char *arg) *dotdot = '.'; return 0; } - exclude = get_merge_bases(a, b); + exclude = repo_get_merge_bases(the_repository, a, b); while (exclude) { struct commit *commit = pop_commit(&exclude); show_rev(REVERSED, &commit->object.oid, NULL); diff --git a/commit-reach.c b/commit-reach.c index 2e33c599a8..a4b9eda723 100644 --- a/commit-reach.c +++ b/commit-reach.c @@ -162,7 +162,8 @@ struct commit_list *get_octopus_merge_bases(struct commit_list *in) for (j = ret; j; j = j->next) { struct commit_list *bases; - bases = get_merge_bases(i->item, j->item); + bases = repo_get_merge_bases(the_repository, i->item, + j->item); if (!new_commits) new_commits = bases; else diff --git a/commit-reach.h b/commit-reach.h index 148b56fea5..94a96e0329 100644 --- a/commit-reach.h +++ b/commit-reach.h @@ -19,11 +19,6 @@ struct commit_list *repo_get_merge_bases_many(struct repository *r, struct commit_list *repo_get_merge_bases_many_dirty(struct repository *r, struct commit *one, int n, struct commit **twos); -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define get_merge_bases(r1, r2) repo_get_merge_bases(the_repository, r1, r2) -#define get_merge_bases_many(one, n, two) repo_get_merge_bases_many(the_repository, one, n, two) -#define get_merge_bases_many_dirty(one, n, twos) repo_get_merge_bases_many_dirty(the_repository, one, n, twos) -#endif struct commit_list *get_octopus_merge_bases(struct commit_list *in); @@ -36,10 +31,6 @@ int repo_in_merge_bases(struct repository *r, int repo_in_merge_bases_many(struct repository *r, struct commit *commit, int nr_reference, struct commit **reference); -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define in_merge_bases(c1, c2) repo_in_merge_bases(the_repository, c1, c2) -#define in_merge_bases_many(c1, n, cs) repo_in_merge_bases_many(the_repository, c1, n, cs) -#endif /* * Takes a list of commits and returns a new list where those diff --git a/commit.c b/commit.c index 06a7c728e8..62682f5564 100644 --- a/commit.c +++ b/commit.c @@ -1014,7 +1014,8 @@ struct commit *get_fork_point(const char *refname, struct commit *commit) for (i = 0; i < revs.nr; i++) revs.commit[i]->object.flags &= ~TMP_MARK; - bases = get_merge_bases_many(commit, revs.nr, revs.commit); + bases = repo_get_merge_bases_many(the_repository, commit, revs.nr, + revs.commit); /* * There should be one and only one merge base, when we found diff --git a/contrib/coccinelle/the_repository.cocci b/contrib/coccinelle/the_repository.cocci index dcdba314fc..1ab63f0196 100644 --- a/contrib/coccinelle/the_repository.cocci +++ b/contrib/coccinelle/the_repository.cocci @@ -38,6 +38,22 @@ | - peel_to_type + repo_peel_to_type +// commit-reach.h +| +- get_merge_bases ++ repo_get_merge_bases +| +- get_merge_bases_many ++ repo_get_merge_bases_many +| +- get_merge_bases_many_dirty ++ repo_get_merge_bases_many_dirty +| +- in_merge_bases ++ repo_in_merge_bases +| +- in_merge_bases_many ++ repo_in_merge_bases_many ) ( + the_repository, diff --git a/contrib/coccinelle/the_repository.pending.cocci b/contrib/coccinelle/the_repository.pending.cocci index 2d200ab83e..e9209fc0cc 100644 --- a/contrib/coccinelle/the_repository.pending.cocci +++ b/contrib/coccinelle/the_repository.pending.cocci @@ -5,23 +5,7 @@ @@ @@ ( -// commit-reach.h -- get_merge_bases -+ repo_get_merge_bases -| -- get_merge_bases_many -+ repo_get_merge_bases_many -| -- get_merge_bases_many_dirty -+ repo_get_merge_bases_many_dirty -| -- in_merge_bases -+ repo_in_merge_bases -| -- in_merge_bases_many -+ repo_in_merge_bases_many // commit.h -| - parse_commit_internal + repo_parse_commit_internal | diff --git a/http-push.c b/http-push.c index 7f71316456..ceab00bd90 100644 --- a/http-push.c +++ b/http-push.c @@ -1570,7 +1570,7 @@ static int verify_merge_base(struct object_id *head_oid, struct ref *remote) struct commit *branch = lookup_commit_or_die(&remote->old_oid, remote->name); - return in_merge_bases(branch, head); + return repo_in_merge_bases(the_repository, branch, head); } static int delete_remote_branch(const char *pattern, int force) diff --git a/log-tree.c b/log-tree.c index f36adb947e..4bebb86eca 100644 --- a/log-tree.c +++ b/log-tree.c @@ -993,7 +993,7 @@ static int do_remerge_diff(struct rev_info *opt, /* Parse the relevant commits and get the merge bases */ parse_commit_or_die(parent1); parse_commit_or_die(parent2); - bases = get_merge_bases(parent1, parent2); + bases = repo_get_merge_bases(the_repository, parent1, parent2); /* Re-merge the parents */ merge_incore_recursive(&o, bases, parent1, parent2, &res); diff --git a/merge-ort.c b/merge-ort.c index d1611ca400..e9f8bd1598 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -5017,7 +5017,7 @@ static void merge_ort_internal(struct merge_options *opt, struct strbuf merge_base_abbrev = STRBUF_INIT; if (!merge_bases) { - merge_bases = get_merge_bases(h1, h2); + merge_bases = repo_get_merge_bases(the_repository, h1, h2); /* See merge-ort.h:merge_incore_recursive() declaration NOTE */ merge_bases = reverse_commit_list(merge_bases); } diff --git a/merge-recursive.c b/merge-recursive.c index ae469f8cc8..9771ef540c 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -3592,7 +3592,7 @@ static int merge_recursive_internal(struct merge_options *opt, } if (!merge_bases) { - merge_bases = get_merge_bases(h1, h2); + merge_bases = repo_get_merge_bases(the_repository, h1, h2); merge_bases = reverse_commit_list(merge_bases); } diff --git a/notes-merge.c b/notes-merge.c index d290c7478e..fca9422a29 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -600,7 +600,7 @@ int notes_merge(struct notes_merge_options *o, assert(local && remote); /* Find merge bases */ - bases = get_merge_bases(local, remote); + bases = repo_get_merge_bases(the_repository, local, remote); if (!bases) { base_oid = null_oid(); base_tree_oid = the_hash_algo->empty_tree; diff --git a/remote.c b/remote.c index ff9b023831..71b1ae2db0 100644 --- a/remote.c +++ b/remote.c @@ -2662,7 +2662,7 @@ static int is_reachable_in_reflog(const char *local, const struct ref *remote) if (MERGE_BASES_BATCH_SIZE < size) size = MERGE_BASES_BATCH_SIZE; - if ((ret = in_merge_bases_many(commit, size, chunk))) + if ((ret = repo_in_merge_bases_many(the_repository, commit, size, chunk))) break; } diff --git a/revision.c b/revision.c index 0f775ee2e9..c2b7b2f107 100644 --- a/revision.c +++ b/revision.c @@ -1957,7 +1957,7 @@ static void prepare_show_merge(struct rev_info *revs) other = lookup_commit_or_die(&oid, "MERGE_HEAD"); add_pending_object(revs, &head->object, "HEAD"); add_pending_object(revs, &other->object, "MERGE_HEAD"); - bases = get_merge_bases(head, other); + bases = repo_get_merge_bases(the_repository, head, other); add_rev_cmdline_list(revs, bases, REV_CMD_MERGE_BASE, UNINTERESTING | BOTTOM); add_pending_commit_list(revs, bases, UNINTERESTING | BOTTOM); free_commit_list(bases); @@ -2052,7 +2052,7 @@ static int handle_dotdot_1(const char *arg, char *dotdot, if (!a || !b) return dotdot_missing(arg, dotdot, revs, symmetric); - exclude = get_merge_bases(a, b); + exclude = repo_get_merge_bases(the_repository, a, b); add_rev_cmdline_list(revs, exclude, REV_CMD_MERGE_BASE, flags_exclude); add_pending_commit_list(revs, exclude, flags_exclude); diff --git a/sequencer.c b/sequencer.c index 818932a630..d97923883f 100644 --- a/sequencer.c +++ b/sequencer.c @@ -4102,7 +4102,8 @@ static int do_merge(struct repository *r, } merge_commit = to_merge->item; - bases = get_merge_bases(head_commit, merge_commit); + bases = repo_get_merge_bases(the_repository, head_commit, + merge_commit); if (bases && oideq(&merge_commit->object.oid, &bases->item->object.oid)) { ret = 0; diff --git a/shallow.c b/shallow.c index 17f9bcdb5f..0fcdfd7d35 100644 --- a/shallow.c +++ b/shallow.c @@ -791,7 +791,7 @@ static void post_assign_shallow(struct shallow_info *info, for (j = 0; j < bitmap_nr; j++) if (bitmap[0][j] && /* Step 7, reachability test at commit level */ - !in_merge_bases_many(c, ca.nr, ca.commits)) { + !repo_in_merge_bases_many(the_repository, c, ca.nr, ca.commits)) { update_refstatus(ref_status, info->ref->nr, *bitmap); dst++; break; @@ -819,9 +819,10 @@ int delayed_reachability_test(struct shallow_info *si, int c) si->nr_commits = ca.nr; } - si->reachable[c] = in_merge_bases_many(commit, - si->nr_commits, - si->commits); + si->reachable[c] = repo_in_merge_bases_many(the_repository, + commit, + si->nr_commits, + si->commits); si->need_reachability_test[c] = 0; } return si->reachable[c]; diff --git a/t/helper/test-reach.c b/t/helper/test-reach.c index 00f0f29a6a..b6d197722f 100644 --- a/t/helper/test-reach.c +++ b/t/helper/test-reach.c @@ -106,13 +106,17 @@ int cmd__reach(int ac, const char **av) if (!strcmp(av[1], "ref_newer")) printf("%s(A,B):%d\n", av[1], ref_newer(&oid_A, &oid_B)); else if (!strcmp(av[1], "in_merge_bases")) - printf("%s(A,B):%d\n", av[1], in_merge_bases(A, B)); + printf("%s(A,B):%d\n", av[1], + repo_in_merge_bases(the_repository, A, B)); else if (!strcmp(av[1], "in_merge_bases_many")) - printf("%s(A,X):%d\n", av[1], in_merge_bases_many(A, X_nr, X_array)); + printf("%s(A,X):%d\n", av[1], + repo_in_merge_bases_many(the_repository, A, X_nr, X_array)); else if (!strcmp(av[1], "is_descendant_of")) printf("%s(A,X):%d\n", av[1], repo_is_descendant_of(r, A, X)); else if (!strcmp(av[1], "get_merge_bases_many")) { - struct commit_list *list = get_merge_bases_many(A, X_nr, X_array); + struct commit_list *list = repo_get_merge_bases_many(the_repository, + A, X_nr, + X_array); printf("%s(A,X):\n", av[1]); print_sorted_commit_ids(list); } else if (!strcmp(av[1], "reduce_heads")) { -- cgit 1.2.3-korg From ecb5091fd4301ac647db0bd2504112b38f7ee06d Mon Sep 17 00:00:00 2001 From: Ævar Arnfjörð Bjarmason Date: Tue, 28 Mar 2023 15:58:48 +0200 Subject: cocci: apply the "commit.h" part of "the_repository.pending" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apply the part of "the_repository.pending.cocci" pertaining to "commit.h". Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- blame.c | 4 +- builtin/am.c | 7 ++- builtin/blame.c | 6 +- builtin/checkout.c | 13 ++-- builtin/commit.c | 8 +-- builtin/describe.c | 4 +- builtin/diff.c | 3 +- builtin/fast-export.c | 4 +- builtin/gc.c | 4 +- builtin/log.c | 5 +- builtin/merge-tree.c | 6 +- builtin/merge.c | 3 +- builtin/name-rev.c | 4 +- builtin/notes.c | 2 +- builtin/rebase.c | 2 +- builtin/replace.c | 4 +- builtin/shortlog.c | 5 +- builtin/show-branch.c | 4 +- commit-graph.c | 2 +- commit-reach.c | 16 ++--- commit.c | 25 ++++---- commit.h | 18 ------ contrib/coccinelle/the_repository.cocci | 19 ++++++ contrib/coccinelle/the_repository.pending.cocci | 19 ------ delta-islands.c | 5 +- fmt-merge-msg.c | 5 +- fsck.c | 4 +- http-push.c | 3 +- list-objects.c | 18 +++--- merge-recursive.c | 2 +- negotiator/default.c | 6 +- negotiator/skipping.c | 2 +- notes-merge.c | 5 +- notes-utils.c | 2 +- object-name.c | 8 +-- pack-bitmap-write.c | 3 +- pretty.c | 5 +- reflog.c | 2 +- revision.c | 12 ++-- sequencer.c | 82 +++++++++++++++---------- shallow.c | 4 +- t/helper/test-fast-rebase.c | 9 +-- tree.c | 2 +- walker.c | 4 +- 44 files changed, 196 insertions(+), 174 deletions(-) (limited to 'commit.c') diff --git a/blame.c b/blame.c index 8bfeaa1c63..af2b67c084 100644 --- a/blame.c +++ b/blame.c @@ -2429,7 +2429,7 @@ static void pass_blame(struct blame_scoreboard *sb, struct blame_origin *origin, if (sg_origin[i]) continue; - if (parse_commit(p)) + if (repo_parse_commit(the_repository, p)) continue; porigin = find(sb->repo, p, origin, sb->bloom_data); if (!porigin) @@ -2592,7 +2592,7 @@ void assign_blame(struct blame_scoreboard *sb, int opt) * so hold onto it in the meantime. */ blame_origin_incref(suspect); - parse_commit(commit); + repo_parse_commit(the_repository, commit); if (sb->reverse || (!(commit->object.flags & UNINTERESTING) && !(revs->max_age != -1 && commit->date < revs->max_age))) diff --git a/builtin/am.c b/builtin/am.c index c04038f1f3..456884852e 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -1329,7 +1329,8 @@ static void get_commit_info(struct am_state *state, struct commit *commit) size_t ident_len; struct ident_split id; - buffer = logmsg_reencode(commit, NULL, get_commit_output_encoding()); + buffer = repo_logmsg_reencode(the_repository, commit, NULL, + get_commit_output_encoding()); ident_line = find_commit_header(buffer, "author", &ident_len); if (!ident_line) @@ -1361,7 +1362,7 @@ static void get_commit_info(struct am_state *state, struct commit *commit) die(_("unable to parse commit %s"), oid_to_hex(&commit->object.oid)); state->msg = xstrdup(msg + 2); state->msg_len = strlen(state->msg); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); } /** @@ -1404,7 +1405,7 @@ static void write_index_patch(const struct am_state *state) if (!repo_get_oid(the_repository, "HEAD", &head)) { struct commit *commit = lookup_commit_or_die(&head, "HEAD"); - tree = get_commit_tree(commit); + tree = repo_get_commit_tree(the_repository, commit); } else tree = lookup_tree(the_repository, the_repository->hash_algo->empty_tree); diff --git a/builtin/blame.c b/builtin/blame.c index 0155062de1..91e04f57cc 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -199,13 +199,13 @@ static void get_commit_info(struct commit *commit, const char *message; encoding = get_log_output_encoding(); - message = logmsg_reencode(commit, NULL, encoding); + message = repo_logmsg_reencode(the_repository, commit, NULL, encoding); get_ac_line(message, "\nauthor ", &ret->author, &ret->author_mail, &ret->author_time, &ret->author_tz); if (!detailed) { - unuse_commit_buffer(commit, message); + repo_unuse_commit_buffer(the_repository, commit, message); return; } @@ -219,7 +219,7 @@ static void get_commit_info(struct commit *commit, else strbuf_addf(&ret->summary, "(%s)", oid_to_hex(&commit->object.oid)); - unuse_commit_buffer(commit, message); + repo_unuse_commit_buffer(the_repository, commit, message); } /* diff --git a/builtin/checkout.c b/builtin/checkout.c index 6216bb6bba..1d1f33e33e 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -640,7 +640,7 @@ static void describe_detached_head(const char *msg, struct commit *commit) { struct strbuf sb = STRBUF_INIT; - if (!parse_commit(commit)) + if (!repo_parse_commit(the_repository, commit)) pp_commit_easy(CMIT_FMT_ONELINE, commit, &sb); if (print_sha1_ellipsis()) { fprintf(stderr, "%s %s... %s\n", msg, @@ -755,7 +755,8 @@ static int merge_working_tree(const struct checkout_opts *opts, BUG("'switch --orphan' should never accept a commit as starting point"); new_tree = parse_tree_indirect(the_hash_algo->empty_tree); } else - new_tree = get_commit_tree(new_branch_info->commit); + new_tree = repo_get_commit_tree(the_repository, + new_branch_info->commit); if (opts->discard_changes) { ret = reset_tree(new_tree, opts, 1, writeout_error, new_branch_info); if (ret) @@ -817,7 +818,8 @@ static int merge_working_tree(const struct checkout_opts *opts, */ if (!old_branch_info->commit) return 1; - old_tree = get_commit_tree(old_branch_info->commit); + old_tree = repo_get_commit_tree(the_repository, + old_branch_info->commit); if (repo_index_has_changes(the_repository, old_tree, &sb)) die(_("cannot continue with staged changes in " @@ -1006,7 +1008,7 @@ static void describe_one_orphan(struct strbuf *sb, struct commit *commit) strbuf_addstr(sb, " "); strbuf_add_unique_abbrev(sb, &commit->object.oid, DEFAULT_ABBREV); strbuf_addch(sb, ' '); - if (!parse_commit(commit)) + if (!repo_parse_commit(the_repository, commit)) pp_commit_easy(CMIT_FMT_ONELINE, commit, sb); strbuf_addch(sb, '\n'); } @@ -1206,7 +1208,8 @@ static void setup_new_branch_info_and_source_tree( *source_tree = parse_tree_indirect(rev); } else { parse_commit_or_die(new_branch_info->commit); - *source_tree = get_commit_tree(new_branch_info->commit); + *source_tree = repo_get_commit_tree(the_repository, + new_branch_info->commit); } } diff --git a/builtin/commit.c b/builtin/commit.c index 80d1e31f25..bda6afc4bd 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -712,7 +712,7 @@ static void prepare_amend_commit(struct commit *commit, struct strbuf *sb, { const char *buffer, *subject, *fmt; - buffer = get_commit_buffer(commit, NULL); + buffer = repo_get_commit_buffer(the_repository, commit, NULL); find_commit_subject(buffer, &subject); /* * If we amend the 'amend!' commit then we don't want to @@ -720,7 +720,7 @@ static void prepare_amend_commit(struct commit *commit, struct strbuf *sb, */ fmt = starts_with(subject, "amend!") ? "%b" : "%B"; format_commit_message(commit, fmt, sb, ctx); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); } static int prepare_to_commit(const char *index_file, const char *prefix, @@ -1183,7 +1183,7 @@ static const char *read_commit_message(const char *name) if (!commit) die(_("could not lookup commit %s"), name); out_enc = get_commit_output_encoding(); - return logmsg_reencode(commit, NULL, out_enc); + return repo_logmsg_reencode(the_repository, commit, NULL, out_enc); } /* @@ -1718,7 +1718,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix) current_head = NULL; else { current_head = lookup_commit_or_die(&oid, "HEAD"); - if (parse_commit(current_head)) + if (repo_parse_commit(the_repository, current_head)) die(_("could not parse HEAD commit")); } verbose = -1; /* unspecified */ diff --git a/builtin/describe.c b/builtin/describe.c index c85bf9c418..e880a86f37 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -261,7 +261,7 @@ static unsigned long finish_depth_computation( best->depth++; while (parents) { struct commit *p = parents->item; - parse_commit(p); + repo_parse_commit(the_repository, p); if (!(p->object.flags & SEEN)) commit_list_insert_by_date(p, list); p->object.flags |= c->object.flags; @@ -404,7 +404,7 @@ static void describe_commit(struct object_id *oid, struct strbuf *dst) } while (parents) { struct commit *p = parents->item; - parse_commit(p); + repo_parse_commit(the_repository, p); if (!(p->object.flags & SEEN)) commit_list_insert_by_date(p, &list); p->object.flags |= c->object.flags; diff --git a/builtin/diff.c b/builtin/diff.c index 26f1e532c6..1091c377af 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -548,7 +548,8 @@ int cmd_diff(int argc, const char **argv, const char *prefix) if (!obj) die(_("invalid object '%s' given."), name); if (obj->type == OBJ_COMMIT) - obj = &get_commit_tree(((struct commit *)obj))->object; + obj = &repo_get_commit_tree(the_repository, + ((struct commit *)obj))->object; if (obj->type == OBJ_TREE) { if (sdiff.skip && bitmap_get(sdiff.skip, i)) diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 39a890fc00..5fe7c02970 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -618,7 +618,7 @@ static void handle_commit(struct commit *commit, struct rev_info *rev, rev->diffopt.output_format = DIFF_FORMAT_CALLBACK; parse_commit_or_die(commit); - commit_buffer = get_commit_buffer(commit, NULL); + commit_buffer = repo_get_commit_buffer(the_repository, commit, NULL); author = strstr(commit_buffer, "\nauthor "); if (!author) die("could not find author in commit %s", @@ -699,7 +699,7 @@ static void handle_commit(struct commit *commit, struct rev_info *rev, ? strlen(message) : 0), reencoded ? reencoded : message ? message : ""); free(reencoded); - unuse_commit_buffer(commit, commit_buffer); + repo_unuse_commit_buffer(the_repository, commit, commit_buffer); for (i = 0, p = commit->parents; p; p = p->next) { struct object *obj = &p->item->object; diff --git a/builtin/gc.c b/builtin/gc.c index 02455fdcd7..e60decbc56 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -820,7 +820,7 @@ static int dfs_on_ref(const char *refname UNUSED, commit = lookup_commit(the_repository, oid); if (!commit) return 0; - if (parse_commit(commit) || + if (repo_parse_commit(the_repository, commit) || commit_graph_position(commit) != COMMIT_NOT_FROM_GRAPH) return 0; @@ -837,7 +837,7 @@ static int dfs_on_ref(const char *refname UNUSED, commit = pop_commit(&stack); for (parent = commit->parents; parent; parent = parent->next) { - if (parse_commit(parent->item) || + if (repo_parse_commit(the_repository, parent->item) || commit_graph_position(parent->item) != COMMIT_NOT_FROM_GRAPH || parent->item->object.flags & SEEN) continue; diff --git a/builtin/log.c b/builtin/log.c index 5604b4b5f0..f249aca049 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1314,10 +1314,11 @@ static void make_cover_letter(struct rev_info *rev, int use_separate_file, log_write_email_headers(rev, head, &pp.after_subject, &need_8bit_cte, 0); for (i = 0; !need_8bit_cte && i < nr; i++) { - const char *buf = get_commit_buffer(list[i], NULL); + const char *buf = repo_get_commit_buffer(the_repository, + list[i], NULL); if (has_non_ascii(buf)) need_8bit_cte = 1; - unuse_commit_buffer(list[i], buf); + repo_unuse_commit_buffer(the_repository, list[i], buf); } if (!branch_name) diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index 4e4a9d6ba1..c0acbc6a54 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -443,9 +443,9 @@ static int real_merge(struct merge_tree_options *o, die(_("could not lookup commit %s"), merge_base); opt.ancestor = merge_base; - base_tree = get_commit_tree(base_commit); - parent1_tree = get_commit_tree(parent1); - parent2_tree = get_commit_tree(parent2); + base_tree = repo_get_commit_tree(the_repository, base_commit); + parent1_tree = repo_get_commit_tree(the_repository, parent1); + parent2_tree = repo_get_commit_tree(the_repository, parent2); merge_incore_nonrecursive(&opt, base_tree, parent1_tree, parent2_tree, &result); } else { /* diff --git a/builtin/merge.c b/builtin/merge.c index c5a9321806..197e152aba 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -1611,7 +1611,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix) * Must first ensure that index matches HEAD before * attempting a trivial merge. */ - struct tree *head_tree = get_commit_tree(head_commit); + struct tree *head_tree = repo_get_commit_tree(the_repository, + head_commit); struct strbuf sb = STRBUF_INIT; if (repo_index_has_changes(the_repository, head_tree, diff --git a/builtin/name-rev.c b/builtin/name-rev.c index 35fd89f794..ad1de02308 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -181,7 +181,7 @@ static void name_rev(struct commit *start_commit, size_t parents_to_queue_nr, parents_to_queue_alloc = 0; struct rev_name *start_name; - parse_commit(start_commit); + repo_parse_commit(the_repository, start_commit); if (commit_is_before_cutoff(start_commit)) return; @@ -211,7 +211,7 @@ static void name_rev(struct commit *start_commit, struct rev_name *parent_name; int generation, distance; - parse_commit(parent); + repo_parse_commit(the_repository, parent); if (commit_is_before_cutoff(parent)) continue; diff --git a/builtin/notes.c b/builtin/notes.c index d98460e5d6..b497eae520 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -720,7 +720,7 @@ static int merge_commit(struct notes_merge_options *o) die(_("failed to read ref NOTES_MERGE_PARTIAL")); else if (!(partial = lookup_commit_reference(the_repository, &oid))) die(_("could not find commit from NOTES_MERGE_PARTIAL.")); - else if (parse_commit(partial)) + else if (repo_parse_commit(the_repository, partial)) die(_("could not parse commit from NOTES_MERGE_PARTIAL.")); if (partial->parents) diff --git a/builtin/rebase.c b/builtin/rebase.c index 5fd7bfb486..eba48bffaa 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -853,7 +853,7 @@ static int checkout_up_to_date(struct rebase_options *options) static int is_linear_history(struct commit *from, struct commit *to) { while (to && to != from) { - parse_commit(to); + repo_parse_commit(the_repository, to); if (!to->parents) return 1; if (to->parents->next) diff --git a/builtin/replace.c b/builtin/replace.c index 33c6cdb79c..85f0b79c92 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -458,9 +458,9 @@ static int create_graft(int argc, const char **argv, int force, int gentle) if (!commit) return error(_("could not parse %s"), old_ref); - buffer = get_commit_buffer(commit, &size); + buffer = repo_get_commit_buffer(the_repository, commit, &size); strbuf_add(&buf, buffer, size); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); if (replace_parents(&buf, argc - 1, &argv[1]) < 0) { strbuf_release(&buf); diff --git a/builtin/shortlog.c b/builtin/shortlog.c index 27a87167e1..8afd1ad865 100644 --- a/builtin/shortlog.c +++ b/builtin/shortlog.c @@ -179,7 +179,8 @@ static void insert_records_from_trailers(struct shortlog *log, * Using format_commit_message("%B") would be simpler here, but * this saves us copying the message. */ - commit_buffer = logmsg_reencode(commit, NULL, ctx->output_encoding); + commit_buffer = repo_logmsg_reencode(the_repository, commit, NULL, + ctx->output_encoding); body = strstr(commit_buffer, "\n\n"); if (!body) return; @@ -202,7 +203,7 @@ static void insert_records_from_trailers(struct shortlog *log, trailer_iterator_release(&iter); strbuf_release(&ident); - unuse_commit_buffer(commit, commit_buffer); + repo_unuse_commit_buffer(the_repository, commit, commit_buffer); } static int shortlog_needs_dedup(const struct shortlog *log) diff --git a/builtin/show-branch.c b/builtin/show-branch.c index 9e3b8ed27e..d60e536a53 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -240,7 +240,7 @@ static void join_revs(struct commit_list **list_p, parents = parents->next; if ((this_flag & flags) == flags) continue; - parse_commit(p); + repo_parse_commit(the_repository, p); if (mark_seen(p, seen_p) && !still_interesting) extra--; p->object.flags |= flags; @@ -842,7 +842,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix) if (!commit) die(_("cannot find commit %s (%s)"), ref_name[num_rev], oid_to_hex(&revkey)); - parse_commit(commit); + repo_parse_commit(the_repository, commit); mark_seen(commit, &seen); /* rev#0 uses bit REV_SHIFT, rev#1 uses bit REV_SHIFT+1, diff --git a/commit-graph.c b/commit-graph.c index c11b59f28b..8273085aa6 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -2549,7 +2549,7 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g, int flags) graph_commit = lookup_commit(r, &cur_oid); odb_commit = (struct commit *)create_object(r, &cur_oid, alloc_commit_node(r)); - if (parse_commit_internal(odb_commit, 0, 0)) { + if (repo_parse_commit_internal(the_repository, odb_commit, 0, 0)) { graph_report(_("failed to parse commit %s from object database for commit-graph"), oid_to_hex(&cur_oid)); continue; diff --git a/commit-reach.c b/commit-reach.c index a4b9eda723..c88faf7e7b 100644 --- a/commit-reach.c +++ b/commit-reach.c @@ -585,7 +585,7 @@ int ref_newer(const struct object_id *new_oid, const struct object_id *old_oid) return 0; new_commit = (struct commit *) o; - if (parse_commit(new_commit) < 0) + if (repo_parse_commit(the_repository, new_commit) < 0) return 0; commit_list_insert(old_commit, &old_commit_list); @@ -749,7 +749,7 @@ int can_all_from_reach_with_flag(struct object_array *from, } list[nr_commits] = (struct commit *)from_one; - if (parse_commit(list[nr_commits]) || + if (repo_parse_commit(the_repository, list[nr_commits]) || commit_graph_generation(list[nr_commits]) < min_generation) { result = 0; goto cleanup; @@ -784,7 +784,7 @@ int can_all_from_reach_with_flag(struct object_array *from, if (!(parent->item->object.flags & assign_flag)) { parent->item->object.flags |= assign_flag; - if (parse_commit(parent->item) || + if (repo_parse_commit(the_repository, parent->item) || parent->item->date < min_commit_date || commit_graph_generation(parent->item) < min_generation) continue; @@ -826,7 +826,7 @@ int can_all_from_reach(struct commit_list *from, struct commit_list *to, while (from_iter) { add_object_array(&from_iter->item->object, NULL, &from_objs); - if (!parse_commit(from_iter->item)) { + if (!repo_parse_commit(the_repository, from_iter->item)) { timestamp_t generation; if (from_iter->item->date < min_commit_date) min_commit_date = from_iter->item->date; @@ -840,7 +840,7 @@ int can_all_from_reach(struct commit_list *from, struct commit_list *to, } while (to_iter) { - if (!parse_commit(to_iter->item)) { + if (!repo_parse_commit(the_repository, to_iter->item)) { timestamp_t generation; if (to_iter->item->date < min_commit_date) min_commit_date = to_iter->item->date; @@ -890,7 +890,7 @@ struct commit_list *get_reachable_subset(struct commit **from, int nr_from, timestamp_t generation; struct commit *c = *item; - parse_commit(c); + repo_parse_commit(the_repository, c); generation = commit_graph_generation(c); if (generation < min_generation) min_generation = generation; @@ -905,7 +905,7 @@ struct commit_list *get_reachable_subset(struct commit **from, int nr_from, struct commit *c = *item; if (!(c->object.flags & PARENT2)) { c->object.flags |= PARENT2; - parse_commit(c); + repo_parse_commit(the_repository, c); prio_queue_put(&queue, *item); } @@ -924,7 +924,7 @@ struct commit_list *get_reachable_subset(struct commit **from, int nr_from, for (parents = current->parents; parents; parents = parents->next) { struct commit *p = parents->item; - parse_commit(p); + repo_parse_commit(the_repository, p); if (commit_graph_generation(p) < min_generation) continue; diff --git a/commit.c b/commit.c index 62682f5564..6036376d05 100644 --- a/commit.c +++ b/commit.c @@ -83,7 +83,7 @@ struct commit *lookup_commit_reference_by_name(const char *name) if (repo_get_oid_committish(the_repository, name, &oid)) return NULL; commit = lookup_commit_reference(the_repository, &oid); - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return NULL; return commit; } @@ -382,7 +382,7 @@ struct tree *repo_get_commit_tree(struct repository *r, struct object_id *get_commit_tree_oid(const struct commit *commit) { - struct tree *tree = get_commit_tree(commit); + struct tree *tree = repo_get_commit_tree(the_repository, commit); return tree ? &tree->object.oid : NULL; } @@ -555,7 +555,7 @@ int repo_parse_commit_gently(struct repository *r, void parse_commit_or_die(struct commit *item) { - if (parse_commit(item)) + if (repo_parse_commit(the_repository, item)) die("unable to parse commit %s", item ? oid_to_hex(&item->object.oid) : "(null)"); } @@ -688,7 +688,7 @@ struct commit *pop_most_recent_commit(struct commit_list **list, while (parents) { struct commit *commit = parents->item; - if (!parse_commit(commit) && !(commit->object.flags & mark)) { + if (!repo_parse_commit(the_repository, commit) && !(commit->object.flags & mark)) { commit->object.flags |= mark; commit_list_insert_by_date(commit, list); } @@ -762,7 +762,8 @@ define_commit_slab(author_date_slab, timestamp_t); void record_author_date(struct author_date_slab *author_date, struct commit *commit) { - const char *buffer = get_commit_buffer(commit, NULL); + const char *buffer = repo_get_commit_buffer(the_repository, commit, + NULL); struct ident_split ident; const char *ident_line; size_t ident_len; @@ -782,7 +783,7 @@ void record_author_date(struct author_date_slab *author_date, *(author_date_slab_at(author_date, commit)) = date; fail_exit: - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); } int compare_commits_by_author_date(const void *a_, const void *b_, @@ -963,7 +964,7 @@ static void add_one_commit(struct object_id *oid, struct rev_collect *revs) commit = lookup_commit(the_repository, oid); if (!commit || (commit->object.flags & TMP_MARK) || - parse_commit(commit)) + repo_parse_commit(the_repository, commit)) return; ALLOC_GROW(revs->commit, revs->nr + 1, revs->alloc); @@ -1096,10 +1097,11 @@ int parse_signed_commit(const struct commit *commit, const struct git_hash_algo *algop) { unsigned long size; - const char *buffer = get_commit_buffer(commit, &size); + const char *buffer = repo_get_commit_buffer(the_repository, commit, + &size); int ret = parse_buffer_signed_by_header(buffer, size, payload, signature, algop); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); return ret; } @@ -1318,9 +1320,10 @@ struct commit_extra_header *read_commit_extra_headers(struct commit *commit, { struct commit_extra_header *extra = NULL; unsigned long size; - const char *buffer = get_commit_buffer(commit, &size); + const char *buffer = repo_get_commit_buffer(the_repository, commit, + &size); extra = read_commit_extra_header_lines(buffer, size, exclude); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); return extra; } diff --git a/commit.h b/commit.h index cc2c5da7bd..e98ee6e698 100644 --- a/commit.h +++ b/commit.h @@ -109,11 +109,6 @@ static inline int repo_parse_commit_no_graph(struct repository *r, return repo_parse_commit_internal(r, commit, 0, 0); } -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define parse_commit_internal(item, quiet, use) repo_parse_commit_internal(the_repository, item, quiet, use) -#define parse_commit(item) repo_parse_commit(the_repository, item) -#endif - void parse_commit_or_die(struct commit *item); struct buffer_slab; @@ -140,9 +135,6 @@ const void *get_cached_commit_buffer(struct repository *, const struct commit *, const void *repo_get_commit_buffer(struct repository *r, const struct commit *, unsigned long *size); -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define get_commit_buffer(c, s) repo_get_commit_buffer(the_repository, c, s) -#endif /* * Tell the commit subsystem that we are done with a particular commit buffer. @@ -153,9 +145,6 @@ const void *repo_get_commit_buffer(struct repository *r, void repo_unuse_commit_buffer(struct repository *r, const struct commit *, const void *buffer); -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define unuse_commit_buffer(c, b) repo_unuse_commit_buffer(the_repository, c, b) -#endif /* * Free any cached object buffer associated with the commit. @@ -163,7 +152,6 @@ void repo_unuse_commit_buffer(struct repository *r, void free_commit_buffer(struct parsed_object_pool *pool, struct commit *); struct tree *repo_get_commit_tree(struct repository *, const struct commit *); -#define get_commit_tree(c) repo_get_commit_tree(the_repository, c) struct object_id *get_commit_tree_oid(const struct commit *); /* @@ -206,16 +194,10 @@ void free_commit_list(struct commit_list *list); struct rev_info; /* in revision.h, it circularly uses enum cmit_fmt */ int has_non_ascii(const char *text); -const char *logmsg_reencode(const struct commit *commit, - char **commit_encoding, - const char *output_encoding); const char *repo_logmsg_reencode(struct repository *r, const struct commit *commit, char **commit_encoding, const char *output_encoding); -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define logmsg_reencode(c, enc, out) repo_logmsg_reencode(the_repository, c, enc, out) -#endif const char *skip_blank_lines(const char *msg); diff --git a/contrib/coccinelle/the_repository.cocci b/contrib/coccinelle/the_repository.cocci index 1ab63f0196..0cdf3f4630 100644 --- a/contrib/coccinelle/the_repository.cocci +++ b/contrib/coccinelle/the_repository.cocci @@ -54,6 +54,25 @@ | - in_merge_bases_many + repo_in_merge_bases_many +// commit.h +| +- parse_commit_internal ++ repo_parse_commit_internal +| +- parse_commit ++ repo_parse_commit +| +- get_commit_buffer ++ repo_get_commit_buffer +| +- unuse_commit_buffer ++ repo_unuse_commit_buffer +| +- logmsg_reencode ++ repo_logmsg_reencode +| +- get_commit_tree ++ repo_get_commit_tree ) ( + the_repository, diff --git a/contrib/coccinelle/the_repository.pending.cocci b/contrib/coccinelle/the_repository.pending.cocci index e9209fc0cc..bf19e6a248 100644 --- a/contrib/coccinelle/the_repository.pending.cocci +++ b/contrib/coccinelle/the_repository.pending.cocci @@ -5,26 +5,7 @@ @@ @@ ( -// commit.h -- parse_commit_internal -+ repo_parse_commit_internal -| -- parse_commit -+ repo_parse_commit -| -- get_commit_buffer -+ repo_get_commit_buffer -| -- unuse_commit_buffer -+ repo_unuse_commit_buffer -| -- logmsg_reencode -+ repo_logmsg_reencode -| -- get_commit_tree -+ repo_get_commit_tree // diff.h -| - diff_setup + repo_diff_setup // object-store.h diff --git a/delta-islands.c b/delta-islands.c index afdec0a878..05448851ad 100644 --- a/delta-islands.c +++ b/delta-islands.c @@ -506,8 +506,9 @@ void propagate_island_marks(struct commit *commit) struct commit_list *p; struct island_bitmap *root_marks = kh_value(island_marks, pos); - parse_commit(commit); - set_island_marks(&get_commit_tree(commit)->object, root_marks); + repo_parse_commit(the_repository, commit); + set_island_marks(&repo_get_commit_tree(the_repository, commit)->object, + root_marks); for (p = commit->parents; p; p = p->next) set_island_marks(&p->item->object, root_marks); } diff --git a/fmt-merge-msg.c b/fmt-merge-msg.c index e8e2d4ea0d..a5de91ba22 100644 --- a/fmt-merge-msg.c +++ b/fmt-merge-msg.c @@ -271,9 +271,10 @@ static void record_person_from_buf(int which, struct string_list *people, static void record_person(int which, struct string_list *people, struct commit *commit) { - const char *buffer = get_commit_buffer(commit, NULL); + const char *buffer = repo_get_commit_buffer(the_repository, commit, + NULL); record_person_from_buf(which, people, buffer); - unuse_commit_buffer(commit, buffer); + repo_unuse_commit_buffer(the_repository, commit, buffer); } static int cmp_string_list_util_as_integral(const void *a_, const void *b_) diff --git a/fsck.c b/fsck.c index 2b18717ee8..807a84971a 100644 --- a/fsck.c +++ b/fsck.c @@ -353,7 +353,7 @@ static int fsck_walk_commit(struct commit *commit, void *data, struct fsck_optio int result; const char *name; - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return -1; name = fsck_get_object_name(options, &commit->object.oid); @@ -361,7 +361,7 @@ static int fsck_walk_commit(struct commit *commit, void *data, struct fsck_optio fsck_put_object_name(options, get_commit_tree_oid(commit), "%s:", name); - result = options->walk((struct object *)get_commit_tree(commit), + result = options->walk((struct object *) repo_get_commit_tree(the_repository, commit), OBJ_TREE, data, options); if (result < 0) return result; diff --git a/http-push.c b/http-push.c index ceab00bd90..45d5cc0972 100644 --- a/http-push.c +++ b/http-push.c @@ -1331,7 +1331,8 @@ static int get_delta(struct rev_info *revs, struct remote_lock *lock) int count = 0; while ((commit = get_revision(revs)) != NULL) { - p = process_tree(get_commit_tree(commit), p); + p = process_tree(repo_get_commit_tree(the_repository, commit), + p); commit->object.flags |= LOCAL; if (!(commit->object.flags & UNINTERESTING)) count += add_send_request(&commit->object, lock); diff --git a/list-objects.c b/list-objects.c index 7528fe1db2..5550b3aafe 100644 --- a/list-objects.c +++ b/list-objects.c @@ -227,7 +227,8 @@ static void mark_edge_parents_uninteresting(struct commit *commit, struct commit *parent = parents->item; if (!(parent->object.flags & UNINTERESTING)) continue; - mark_tree_uninteresting(revs->repo, get_commit_tree(parent)); + mark_tree_uninteresting(revs->repo, + repo_get_commit_tree(the_repository, parent)); if (revs->edge_hint && !(parent->object.flags & SHOWN)) { parent->object.flags |= SHOWN; show_edge(parent); @@ -244,7 +245,8 @@ static void add_edge_parents(struct commit *commit, for (parents = commit->parents; parents; parents = parents->next) { struct commit *parent = parents->item; - struct tree *tree = get_commit_tree(parent); + struct tree *tree = repo_get_commit_tree(the_repository, + parent); if (!tree) continue; @@ -275,7 +277,8 @@ void mark_edges_uninteresting(struct rev_info *revs, for (list = revs->commits; list; list = list->next) { struct commit *commit = list->item; - struct tree *tree = get_commit_tree(commit); + struct tree *tree = repo_get_commit_tree(the_repository, + commit); if (commit->object.flags & UNINTERESTING) tree->object.flags |= UNINTERESTING; @@ -291,7 +294,7 @@ void mark_edges_uninteresting(struct rev_info *revs, struct commit *commit = list->item; if (commit->object.flags & UNINTERESTING) { mark_tree_uninteresting(revs->repo, - get_commit_tree(commit)); + repo_get_commit_tree(the_repository, commit)); if (revs->edge_hint_aggressive && !(commit->object.flags & SHOWN)) { commit->object.flags |= SHOWN; show_edge(commit); @@ -309,7 +312,7 @@ void mark_edges_uninteresting(struct rev_info *revs, if (obj->type != OBJ_COMMIT || !(obj->flags & UNINTERESTING)) continue; mark_tree_uninteresting(revs->repo, - get_commit_tree(commit)); + repo_get_commit_tree(the_repository, commit)); if (!(obj->flags & SHOWN)) { obj->flags |= SHOWN; show_edge(commit); @@ -376,8 +379,9 @@ static void do_traverse(struct traversal_context *ctx) */ if (!ctx->revs->tree_objects) ; /* do not bother loading tree */ - else if (get_commit_tree(commit)) { - struct tree *tree = get_commit_tree(commit); + else if (repo_get_commit_tree(the_repository, commit)) { + struct tree *tree = repo_get_commit_tree(the_repository, + commit); tree->object.flags |= NOT_USER_GIVEN; add_pending_tree(ctx->revs, tree); } else if (commit->object.parsed) { diff --git a/merge-recursive.c b/merge-recursive.c index 9771ef540c..75fa0ef318 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -3797,7 +3797,7 @@ static struct commit *get_ref(struct repository *repo, return make_virtual_commit(repo, (struct tree*)object, name); if (object->type != OBJ_COMMIT) return NULL; - if (parse_commit((struct commit *)object)) + if (repo_parse_commit(the_repository, (struct commit *)object)) return NULL; return (struct commit *)object; } diff --git a/negotiator/default.c b/negotiator/default.c index b7e79feaf0..658d9dd6b9 100644 --- a/negotiator/default.c +++ b/negotiator/default.c @@ -25,7 +25,7 @@ static void rev_list_push(struct negotiation_state *ns, if (!(commit->object.flags & mark)) { commit->object.flags |= mark; - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return; prio_queue_put(&ns->rev_list, commit); @@ -69,7 +69,7 @@ static void mark_common(struct negotiation_state *ns, struct commit *commit, if (!ancestors_only && !(o->flags & POPPED)) ns->non_common_revs--; if (!o->parsed && !dont_parse) - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return; for (parents = commit->parents; @@ -96,7 +96,7 @@ static const struct object_id *get_rev(struct negotiation_state *ns) return NULL; commit = prio_queue_get(&ns->rev_list); - parse_commit(commit); + repo_parse_commit(the_repository, commit); parents = commit->parents; commit->object.flags |= POPPED; diff --git a/negotiator/skipping.c b/negotiator/skipping.c index 0f5ac48e87..594639b25a 100644 --- a/negotiator/skipping.c +++ b/negotiator/skipping.c @@ -183,7 +183,7 @@ static const struct object_id *get_rev(struct data *data) if (!(commit->object.flags & COMMON) && !entry->ttl) to_send = commit; - parse_commit(commit); + repo_parse_commit(the_repository, commit); for (p = commit->parents; p; p = p->next) parent_pushed |= push_parent(data, entry, p->item); diff --git a/notes-merge.c b/notes-merge.c index fca9422a29..df1a16ac66 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -678,7 +678,8 @@ int notes_merge_commit(struct notes_merge_options *o, DIR *dir; struct dirent *e; struct strbuf path = STRBUF_INIT; - const char *buffer = get_commit_buffer(partial_commit, NULL); + const char *buffer = repo_get_commit_buffer(the_repository, + partial_commit, NULL); const char *msg = strstr(buffer, "\n\n"); int baselen; @@ -725,7 +726,7 @@ int notes_merge_commit(struct notes_merge_options *o, create_notes_commit(o->repo, partial_tree, partial_commit->parents, msg, strlen(msg), result_oid); - unuse_commit_buffer(partial_commit, buffer); + repo_unuse_commit_buffer(the_repository, partial_commit, buffer); if (o->verbosity >= 4) printf("Finalized notes merge commit: %s\n", oid_to_hex(result_oid)); diff --git a/notes-utils.c b/notes-utils.c index d7d18e30f5..0550cfded8 100644 --- a/notes-utils.c +++ b/notes-utils.c @@ -23,7 +23,7 @@ void create_notes_commit(struct repository *r, struct object_id parent_oid; if (!read_ref(t->ref, &parent_oid)) { struct commit *parent = lookup_commit(r, &parent_oid); - if (parse_commit(parent)) + if (repo_parse_commit(the_repository, parent)) die("Failed to find/parse commit %s", t->ref); commit_list_insert(parent, &parents); } diff --git a/object-name.c b/object-name.c index 21e8f67489..2926f26251 100644 --- a/object-name.c +++ b/object-name.c @@ -1036,7 +1036,7 @@ static enum get_oid_result get_parent(struct repository *r, if (ret) return ret; commit = lookup_commit_reference(r, &oid); - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return MISSING_OBJECT; if (!idx) { oidcpy(result, &commit->object.oid); @@ -1070,7 +1070,7 @@ static enum get_oid_result get_nth_ancestor(struct repository *r, return MISSING_OBJECT; while (generation--) { - if (parse_commit(commit) || !commit->parents) + if (repo_parse_commit(the_repository, commit) || !commit->parents) return MISSING_OBJECT; commit = commit->parents->item; } @@ -1361,10 +1361,10 @@ static int get_oid_oneline(struct repository *r, commit = pop_most_recent_commit(&list, ONELINE_SEEN); if (!parse_object(r, &commit->object.oid)) continue; - buf = get_commit_buffer(commit, NULL); + buf = repo_get_commit_buffer(the_repository, commit, NULL); p = strstr(buf, "\n\n"); matches = negative ^ (p && !regexec(®ex, p + 2, 0, NULL, 0)); - unuse_commit_buffer(commit, buf); + repo_unuse_commit_buffer(the_repository, commit, buf); if (matches) { oidcpy(oid, &commit->object.oid); diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c index cfa67a510f..84b6132893 100644 --- a/pack-bitmap-write.c +++ b/pack-bitmap-write.c @@ -425,7 +425,8 @@ static int fill_bitmap_commit(struct bb_commit *ent, if (!found) return -1; bitmap_set(ent->bitmap, pos); - prio_queue_put(tree_queue, get_commit_tree(c)); + prio_queue_put(tree_queue, + repo_get_commit_tree(the_repository, c)); for (p = c->parents; p; p = p->next) { pos = find_object_pos(&p->item->object.oid, &found); diff --git a/pretty.c b/pretty.c index 1e1e21878c..7e1614f67f 100644 --- a/pretty.c +++ b/pretty.c @@ -2204,7 +2204,8 @@ void pretty_print_commit(struct pretty_print_context *pp, } encoding = get_log_output_encoding(); - msg = reencoded = logmsg_reencode(commit, NULL, encoding); + msg = reencoded = repo_logmsg_reencode(the_repository, commit, NULL, + encoding); if (pp->fmt == CMIT_FMT_ONELINE || cmit_fmt_is_mail(pp->fmt)) indent = 0; @@ -2261,7 +2262,7 @@ void pretty_print_commit(struct pretty_print_context *pp, if (cmit_fmt_is_mail(pp->fmt) && sb->len <= beginning_of_body) strbuf_addch(sb, '\n'); - unuse_commit_buffer(commit, reencoded); + repo_unuse_commit_buffer(the_repository, commit, reencoded); } void pp_commit_easy(enum cmit_fmt fmt, const struct commit *commit, diff --git a/reflog.c b/reflog.c index 04630f56ec..6e8362e7a2 100644 --- a/reflog.c +++ b/reflog.c @@ -186,7 +186,7 @@ static void mark_reachable(struct expire_reflog_policy_cb *cb) struct commit *commit = pop_commit(&pending); if (commit->object.flags & REACHABLE) continue; - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) continue; commit->object.flags |= REACHABLE; if (commit->date < expire_limit) { diff --git a/revision.c b/revision.c index c2b7b2f107..79e78b6f7e 100644 --- a/revision.c +++ b/revision.c @@ -778,8 +778,8 @@ static int check_maybe_different_in_bloom_filter(struct rev_info *revs, static int rev_compare_tree(struct rev_info *revs, struct commit *parent, struct commit *commit, int nth_parent) { - struct tree *t1 = get_commit_tree(parent); - struct tree *t2 = get_commit_tree(commit); + struct tree *t1 = repo_get_commit_tree(the_repository, parent); + struct tree *t2 = repo_get_commit_tree(the_repository, commit); int bloom_ret = 1; if (!t1) @@ -825,7 +825,7 @@ static int rev_compare_tree(struct rev_info *revs, static int rev_same_tree_as_empty(struct rev_info *revs, struct commit *commit) { - struct tree *t1 = get_commit_tree(commit); + struct tree *t1 = repo_get_commit_tree(the_repository, commit); if (!t1) return 0; @@ -963,7 +963,7 @@ static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit) if (!revs->prune) return; - if (!get_commit_tree(commit)) + if (!repo_get_commit_tree(the_repository, commit)) return; if (!commit->parents) { @@ -3878,7 +3878,7 @@ static int commit_match(struct commit *commit, struct rev_info *opt) * in it. */ encoding = get_log_output_encoding(); - message = logmsg_reencode(commit, NULL, encoding); + message = repo_logmsg_reencode(the_repository, commit, NULL, encoding); /* Copy the commit to temporary if we are using "fake" headers */ if (buf.len) @@ -3914,7 +3914,7 @@ static int commit_match(struct commit *commit, struct rev_info *opt) retval = grep_buffer(&opt->grep_filter, (char *)message, strlen(message)); strbuf_release(&buf); - unuse_commit_buffer(commit, message); + repo_unuse_commit_buffer(the_repository, commit, message); return retval; } diff --git a/sequencer.c b/sequencer.c index d97923883f..592b3d2875 100644 --- a/sequencer.c +++ b/sequencer.c @@ -428,7 +428,8 @@ static int get_message(struct commit *commit, struct commit_message *out) const char *abbrev, *subject; int subject_len; - out->message = logmsg_reencode(commit, NULL, get_commit_output_encoding()); + out->message = repo_logmsg_reencode(the_repository, commit, NULL, + get_commit_output_encoding()); abbrev = short_commit_name(commit); subject_len = find_commit_subject(out->message, &subject); @@ -445,7 +446,7 @@ static void free_message(struct commit *commit, struct commit_message *msg) free(msg->parent_label); free(msg->label); free(msg->subject); - unuse_commit_buffer(commit, msg->message); + repo_unuse_commit_buffer(the_repository, commit, msg->message); } static void print_advice(struct repository *r, int show_hint, @@ -693,8 +694,8 @@ static int do_recursive_merge(struct repository *r, o.show_rename_progress = 1; head_tree = parse_tree_indirect(head); - next_tree = next ? get_commit_tree(next) : empty_tree(r); - base_tree = base ? get_commit_tree(base) : empty_tree(r); + next_tree = next ? repo_get_commit_tree(the_repository, next) : empty_tree(r); + base_tree = base ? repo_get_commit_tree(the_repository, base) : empty_tree(r); for (i = 0; i < opts->xopts_nr; i++) parse_merge_opt(&o, opts->xopts[i]); @@ -772,7 +773,7 @@ static int is_index_unchanged(struct repository *r) * the commit is invalid, parse_commit() will complain. So * there is nothing for us to say here. Just return failure. */ - if (parse_commit(head_commit)) + if (repo_parse_commit(the_repository, head_commit)) return -1; if (!(cache_tree_oid = get_cache_tree_oid(istate))) @@ -1337,7 +1338,7 @@ void print_commit_summary(struct repository *r, commit = lookup_commit(r, oid); if (!commit) die(_("couldn't look up newly created commit")); - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) die(_("could not parse newly created commit")); strbuf_addstr(&format, "format:%h] %s"); @@ -1417,7 +1418,7 @@ static int parse_head(struct repository *r, struct commit **head) warning(_("HEAD %s is not a commit!"), oid_to_hex(&oid)); } - if (parse_commit(current_head)) + if (repo_parse_commit(the_repository, current_head)) return error(_("could not parse HEAD commit")); } *head = current_head; @@ -1460,8 +1461,9 @@ static int try_to_commit(struct repository *r, if (flags & AMEND_MSG) { const char *exclude_gpgsig[] = { "gpgsig", "gpgsig-sha256", NULL }; const char *out_enc = get_commit_output_encoding(); - const char *message = logmsg_reencode(current_head, NULL, - out_enc); + const char *message = repo_logmsg_reencode(the_repository, + current_head, NULL, + out_enc); if (!msg) { const char *orig_message = NULL; @@ -1472,7 +1474,8 @@ static int try_to_commit(struct repository *r, hook_commit = "HEAD"; } author = amend_author = get_author(message); - unuse_commit_buffer(current_head, message); + repo_unuse_commit_buffer(the_repository, current_head, + message); if (!author) { res = error(_("unable to parse commit author")); goto out; @@ -1669,12 +1672,12 @@ static int is_original_commit_empty(struct commit *commit) { const struct object_id *ptree_oid; - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return error(_("could not parse commit %s"), oid_to_hex(&commit->object.oid)); if (commit->parents) { struct commit *parent = commit->parents->item; - if (parse_commit(parent)) + if (repo_parse_commit(the_repository, parent)) return error(_("could not parse parent commit %s"), oid_to_hex(&parent->object.oid)); ptree_oid = get_commit_tree_oid(parent); @@ -2002,13 +2005,14 @@ static int update_squash_messages(struct repository *r, return error(_("need a HEAD to fixup")); if (!(head_commit = lookup_commit_reference(r, &head))) return error(_("could not read HEAD")); - if (!(head_message = logmsg_reencode(head_commit, NULL, encoding))) + if (!(head_message = repo_logmsg_reencode(the_repository, head_commit, NULL, encoding))) return error(_("could not read HEAD's commit message")); find_commit_subject(head_message, &body); if (command == TODO_FIXUP && !flag && write_message(body, strlen(body), rebase_path_fixup_msg(), 0) < 0) { - unuse_commit_buffer(head_commit, head_message); + repo_unuse_commit_buffer(the_repository, head_commit, + head_message); return error(_("cannot write '%s'"), rebase_path_fixup_msg()); } strbuf_addf(&buf, "%c ", comment_line_char); @@ -2023,10 +2027,11 @@ static int update_squash_messages(struct repository *r, else strbuf_addstr(&buf, body); - unuse_commit_buffer(head_commit, head_message); + repo_unuse_commit_buffer(the_repository, head_commit, + head_message); } - if (!(message = logmsg_reencode(commit, NULL, encoding))) + if (!(message = repo_logmsg_reencode(the_repository, commit, NULL, encoding))) return error(_("could not read commit message of %s"), oid_to_hex(&commit->object.oid)); find_commit_subject(message, &body); @@ -2041,7 +2046,7 @@ static int update_squash_messages(struct repository *r, strbuf_add_commented_lines(&buf, body, strlen(body)); } else return error(_("unknown command: %d"), command); - unuse_commit_buffer(commit, message); + repo_unuse_commit_buffer(the_repository, commit, message); if (!res) res = write_message(buf.buf, buf.len, rebase_path_squash_msg(), @@ -2215,7 +2220,7 @@ static int do_pick_commit(struct repository *r, msg_file = NULL; goto fast_forward_edit; } - if (parent && parse_commit(parent) < 0) + if (parent && repo_parse_commit(the_repository, parent) < 0) /* TRANSLATORS: The first %s will be a "todo" command like "revert" or "pick", the second %s a SHA1. */ return error(_("%s: cannot parse parent commit %s"), @@ -3123,7 +3128,9 @@ static int walk_revs_populate_todo(struct todo_list *todo_list, while ((commit = get_revision(opts->revs))) { struct todo_item *item = append_new_todo(todo_list); - const char *commit_buffer = logmsg_reencode(commit, NULL, encoding); + const char *commit_buffer = repo_logmsg_reencode(the_repository, + commit, NULL, + encoding); const char *subject; int subject_len; @@ -3135,7 +3142,8 @@ static int walk_revs_populate_todo(struct todo_list *todo_list, subject_len = find_commit_subject(commit_buffer, &subject); strbuf_addf(&todo_list->buf, "%s %s %.*s\n", command_string, short_commit_name(commit), subject_len, subject); - unuse_commit_buffer(commit, commit_buffer); + repo_unuse_commit_buffer(the_repository, commit, + commit_buffer); } if (!todo_list->nr) @@ -3519,10 +3527,13 @@ static int make_patch(struct repository *r, strbuf_addf(&buf, "%s/message", get_dir(opts)); if (!file_exists(buf.buf)) { const char *encoding = get_commit_output_encoding(); - const char *commit_buffer = logmsg_reencode(commit, NULL, encoding); + const char *commit_buffer = repo_logmsg_reencode(the_repository, + commit, NULL, + encoding); find_commit_subject(commit_buffer, &subject); res |= write_message(subject, strlen(subject), buf.buf, 1); - unuse_commit_buffer(commit, commit_buffer); + repo_unuse_commit_buffer(the_repository, commit, + commit_buffer); } strbuf_release(&buf); release_revisions(&log_tree_opt); @@ -3989,7 +4000,9 @@ static int do_merge(struct repository *r, if (commit) { const char *encoding = get_commit_output_encoding(); - const char *message = logmsg_reencode(commit, NULL, encoding); + const char *message = repo_logmsg_reencode(the_repository, + commit, NULL, + encoding); const char *body; int len; @@ -4002,7 +4015,7 @@ static int do_merge(struct repository *r, find_commit_subject(message, &body); len = strlen(body); ret = write_message(body, len, git_path_merge_msg(r), 0); - unuse_commit_buffer(commit, message); + repo_unuse_commit_buffer(the_repository, commit, message); if (ret) { error_errno(_("could not write '%s'"), git_path_merge_msg(r)); @@ -4585,7 +4598,7 @@ static int stopped_at_head(struct repository *r) if (repo_get_oid(the_repository, "HEAD", &head) || !(commit = lookup_commit(r, &head)) || - parse_commit(commit) || get_message(commit, &message)) + repo_parse_commit(the_repository, commit) || get_message(commit, &message)) fprintf(stderr, _("Stopped at HEAD\n")); else { fprintf(stderr, _("Stopped at %s\n"), message.label); @@ -5042,13 +5055,15 @@ static int commit_staged_changes(struct repository *r, const char *encoding = get_commit_output_encoding(); if (parse_head(r, &commit) || - !(p = logmsg_reencode(commit, NULL, encoding)) || + !(p = repo_logmsg_reencode(the_repository, commit, NULL, encoding)) || write_message(p, strlen(p), path, 0)) { - unuse_commit_buffer(commit, p); + repo_unuse_commit_buffer(the_repository, + commit, p); return error(_("could not write file: " "'%s'"), path); } - unuse_commit_buffer(commit, p); + repo_unuse_commit_buffer(the_repository, + commit, p); } } @@ -5925,7 +5940,7 @@ static int skip_unnecessary_picks(struct repository *r, continue; if (item->command != TODO_PICK) break; - if (parse_commit(item->commit)) { + if (repo_parse_commit(the_repository, item->commit)) { return error(_("could not parse commit '%s'"), oid_to_hex(&item->commit->object.oid)); } @@ -6258,12 +6273,15 @@ int todo_list_rearrange_squash(struct todo_list *todo_list) return error(_("the script was already rearranged.")); } - parse_commit(item->commit); - commit_buffer = logmsg_reencode(item->commit, NULL, "UTF-8"); + repo_parse_commit(the_repository, item->commit); + commit_buffer = repo_logmsg_reencode(the_repository, + item->commit, NULL, + "UTF-8"); find_commit_subject(commit_buffer, &subject); format_subject(&buf, subject, " "); subject = subjects[i] = strbuf_detach(&buf, &subject_len); - unuse_commit_buffer(item->commit, commit_buffer); + repo_unuse_commit_buffer(the_repository, item->commit, + commit_buffer); if (skip_fixupish(subject, &p)) { struct commit *commit2; diff --git a/shallow.c b/shallow.c index 0fcdfd7d35..1a2b159fd4 100644 --- a/shallow.c +++ b/shallow.c @@ -247,7 +247,7 @@ struct commit_list *get_shallow_commits_by_rev_list(int ac, const char **av, struct commit *c = p->item; struct commit_list *parent; - if (parse_commit(c)) + if (repo_parse_commit(the_repository, c)) die("unable to parse commit %s", oid_to_hex(&c->object.oid)); @@ -583,7 +583,7 @@ static void paint_down(struct paint_info *info, const struct object_id *oid, if (c->object.flags & BOTTOM) continue; - if (parse_commit(c)) + if (repo_parse_commit(the_repository, c)) die("unable to parse commit %s", oid_to_hex(&c->object.oid)); diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c index 5d1284328d..214612846a 100644 --- a/t/helper/test-fast-rebase.c +++ b/t/helper/test-fast-rebase.c @@ -65,7 +65,8 @@ static struct commit *create_commit(struct tree *tree, struct commit_extra_header *extra; struct strbuf msg = STRBUF_INIT; const char *out_enc = get_commit_output_encoding(); - const char *message = logmsg_reencode(based_on, NULL, out_enc); + const char *message = repo_logmsg_reencode(the_repository, based_on, + NULL, out_enc); const char *orig_message = NULL; const char *exclude_gpgsig[] = { "gpgsig", NULL }; @@ -156,7 +157,7 @@ int cmd__fast_rebase(int argc, const char **argv) memset(&result, 0, sizeof(result)); merge_opt.show_rename_progress = 1; merge_opt.branch1 = "HEAD"; - head_tree = get_commit_tree(onto); + head_tree = repo_get_commit_tree(the_repository, onto); result.tree = head_tree; last_commit = onto; while ((commit = get_revision(&revs))) { @@ -167,8 +168,8 @@ int cmd__fast_rebase(int argc, const char **argv) assert(commit->parents && !commit->parents->next); base = commit->parents->item; - next_tree = get_commit_tree(commit); - base_tree = get_commit_tree(base); + next_tree = repo_get_commit_tree(the_repository, commit); + base_tree = repo_get_commit_tree(the_repository, base); merge_opt.branch2 = short_commit_name(commit); merge_opt.ancestor = xstrfmt("parent of %s", merge_opt.branch2); diff --git a/tree.c b/tree.c index 410e3b477e..f0742f4167 100644 --- a/tree.c +++ b/tree.c @@ -58,7 +58,7 @@ int read_tree_at(struct repository *r, oid_to_hex(&entry.oid), base->buf, entry.path); - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) die("Invalid commit %s in submodule path %s%s", oid_to_hex(&entry.oid), base->buf, entry.path); diff --git a/walker.c b/walker.c index 99d0e0eae0..98d65a559b 100644 --- a/walker.c +++ b/walker.c @@ -79,7 +79,7 @@ static int process_commit(struct walker *walker, struct commit *commit) { struct commit_list *parents; - if (parse_commit(commit)) + if (repo_parse_commit(the_repository, commit)) return -1; while (complete && complete->item->date >= commit->date) { @@ -93,7 +93,7 @@ static int process_commit(struct walker *walker, struct commit *commit) walker_say(walker, "walk %s\n", oid_to_hex(&commit->object.oid)); - if (process(walker, &get_commit_tree(commit)->object)) + if (process(walker, &repo_get_commit_tree(the_repository, commit)->object)) return -1; for (parents = commit->parents; parents; parents = parents->next) { -- cgit 1.2.3-korg From bc726bd075929aab6b3e09d4dd5c2b0726fd5350 Mon Sep 17 00:00:00 2001 From: Ævar Arnfjörð Bjarmason Date: Tue, 28 Mar 2023 15:58:50 +0200 Subject: cocci: apply the "object-store.h" part of "the_repository.pending" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apply the part of "the_repository.pending.cocci" pertaining to "object-store.h". Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- apply.c | 9 ++++++--- archive.c | 2 +- bisect.c | 5 +++-- blame.c | 11 +++++++---- builtin/cat-file.c | 23 ++++++++++++++--------- builtin/clone.c | 6 +++--- builtin/difftool.c | 3 ++- builtin/fast-export.c | 5 +++-- builtin/fast-import.c | 7 ++++--- builtin/fetch.c | 12 ++++++------ builtin/grep.c | 6 ++++-- builtin/index-pack.c | 9 ++++++--- builtin/log.c | 2 +- builtin/merge-tree.c | 9 ++++++--- builtin/mktag.c | 3 ++- builtin/notes.c | 7 ++++--- builtin/pack-objects.c | 22 +++++++++++++++------- builtin/receive-pack.c | 2 +- builtin/remote.c | 2 +- builtin/show-ref.c | 2 +- builtin/tag.c | 4 ++-- builtin/unpack-file.c | 2 +- builtin/unpack-objects.c | 5 +++-- bulk-checkin.c | 2 +- bundle.c | 2 +- cache-tree.c | 8 ++++---- combine-diff.c | 2 +- commit.c | 3 ++- contrib/coccinelle/the_repository.cocci | 10 ++++++++++ contrib/coccinelle/the_repository.pending.cocci | 10 ---------- dir.c | 2 +- entry.c | 3 ++- fetch-pack.c | 8 ++++---- fmt-merge-msg.c | 3 ++- fsck.c | 2 +- http-push.c | 11 ++++++----- http-walker.c | 4 ++-- list-objects.c | 2 +- mailmap.c | 2 +- match-trees.c | 4 ++-- merge-blobs.c | 6 ++++-- merge-ort.c | 2 +- merge-recursive.c | 5 +++-- notes-cache.c | 2 +- notes-merge.c | 2 +- notes.c | 12 +++++++----- object-file.c | 2 +- object-store.h | 7 ------- read-cache.c | 5 +++-- reflog.c | 5 +++-- remote.c | 2 +- rerere.c | 5 +++-- send-pack.c | 6 +++--- shallow.c | 6 +++--- submodule-config.c | 3 ++- tag.c | 5 +++-- tree.c | 3 ++- upload-pack.c | 8 ++++---- walker.c | 2 +- xdiff-interface.c | 2 +- 60 files changed, 184 insertions(+), 142 deletions(-) (limited to 'commit.c') diff --git a/apply.c b/apply.c index 57f45cedd2..eb71586a37 100644 --- a/apply.c +++ b/apply.c @@ -3201,7 +3201,8 @@ static int apply_binary(struct apply_state *state, unsigned long size; char *result; - result = read_object_file(&oid, &type, &size); + result = repo_read_object_file(the_repository, &oid, &type, + &size); if (!result) return error(_("the necessary postimage %s for " "'%s' cannot be read"), @@ -3264,7 +3265,8 @@ static int read_blob_object(struct strbuf *buf, const struct object_id *oid, uns unsigned long sz; char *result; - result = read_object_file(oid, &type, &sz); + result = repo_read_object_file(the_repository, oid, &type, + &sz); if (!result) return -1; /* XXX read_sha1_file NUL-terminates */ @@ -3492,7 +3494,8 @@ static int resolve_to(struct image *image, const struct object_id *result_id) clear_image(image); - image->buf = read_object_file(result_id, &type, &size); + image->buf = repo_read_object_file(the_repository, result_id, &type, + &size); if (!image->buf || type != OBJ_BLOB) die("unable to read blob object %s", oid_to_hex(result_id)); image->len = size; diff --git a/archive.c b/archive.c index 732e210054..0b48de0063 100644 --- a/archive.c +++ b/archive.c @@ -84,7 +84,7 @@ static void *object_file_to_archive(const struct archiver_args *args, (args->tree ? &args->tree->object.oid : NULL), oid); path += args->baselen; - buffer = read_object_file(oid, type, sizep); + buffer = repo_read_object_file(the_repository, oid, type, sizep); if (buffer && S_ISREG(mode)) { struct strbuf buf = STRBUF_INIT; size_t size = 0; diff --git a/bisect.c b/bisect.c index 3088516e17..db7aa2032e 100644 --- a/bisect.c +++ b/bisect.c @@ -148,8 +148,9 @@ static void show_list(const char *debug, int counted, int nr, unsigned commit_flags = commit->object.flags; enum object_type type; unsigned long size; - char *buf = read_object_file(&commit->object.oid, &type, - &size); + char *buf = repo_read_object_file(the_repository, + &commit->object.oid, &type, + &size); const char *subject_start; int subject_len; diff --git a/blame.c b/blame.c index af2b67c084..7009a3379c 100644 --- a/blame.c +++ b/blame.c @@ -1028,8 +1028,9 @@ static void fill_origin_blob(struct diff_options *opt, &o->blob_oid, 1, &file->ptr, &file_size)) ; else - file->ptr = read_object_file(&o->blob_oid, &type, - &file_size); + file->ptr = repo_read_object_file(the_repository, + &o->blob_oid, &type, + &file_size); file->size = file_size; if (!file->ptr) @@ -2838,8 +2839,10 @@ void setup_scoreboard(struct blame_scoreboard *sb, &sb->final_buf_size)) ; else - sb->final_buf = read_object_file(&o->blob_oid, &type, - &sb->final_buf_size); + sb->final_buf = repo_read_object_file(the_repository, + &o->blob_oid, + &type, + &sb->final_buf_size); if (!sb->final_buf) die(_("cannot read blob %s for path %s"), diff --git a/builtin/cat-file.c b/builtin/cat-file.c index cc17635e76..caf2d25861 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -60,7 +60,7 @@ static int filter_object(const char *path, unsigned mode, { enum object_type type; - *buf = read_object_file(oid, &type, size); + *buf = repo_read_object_file(the_repository, oid, &type, size); if (!*buf) return error(_("cannot read object %s '%s'"), oid_to_hex(oid), path); @@ -152,7 +152,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name, goto cleanup; case 'e': - return !has_object_file(&oid); + return !repo_has_object_file(the_repository, &oid); case 'w': @@ -187,7 +187,8 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name, ret = stream_blob(&oid); goto cleanup; } - buf = read_object_file(&oid, &type, &size); + buf = repo_read_object_file(the_repository, &oid, &type, + &size); if (!buf) die("Cannot read object %s", obj_name); @@ -207,8 +208,10 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name, if (exp_type_id == OBJ_BLOB) { struct object_id blob_oid; if (oid_object_info(the_repository, &oid, NULL) == OBJ_TAG) { - char *buffer = read_object_file(&oid, &type, - &size); + char *buffer = repo_read_object_file(the_repository, + &oid, + &type, + &size); const char *target; if (!skip_prefix(buffer, "object ", &target) || get_oid_hex(target, &blob_oid)) @@ -383,9 +386,10 @@ static void print_object_or_die(struct batch_options *opt, struct expand_data *d if (!textconv_object(the_repository, data->rest, 0100644, oid, 1, &contents, &size)) - contents = read_object_file(oid, - &type, - &size); + contents = repo_read_object_file(the_repository, + oid, + &type, + &size); if (!contents) die("could not convert '%s' %s", oid_to_hex(oid), data->rest); @@ -402,7 +406,8 @@ static void print_object_or_die(struct batch_options *opt, struct expand_data *d unsigned long size; void *contents; - contents = read_object_file(oid, &type, &size); + contents = repo_read_object_file(the_repository, oid, &type, + &size); if (use_mailmap) { size_t s = size; diff --git a/builtin/clone.c b/builtin/clone.c index 65b5b7db6d..4de4640ed4 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -547,9 +547,9 @@ static void write_followtags(const struct ref *refs, const char *msg) continue; if (ends_with(ref->name, "^{}")) continue; - if (!has_object_file_with_flags(&ref->old_oid, - OBJECT_INFO_QUICK | - OBJECT_INFO_SKIP_FETCH_OBJECT)) + if (!repo_has_object_file_with_flags(the_repository, &ref->old_oid, + OBJECT_INFO_QUICK | + OBJECT_INFO_SKIP_FETCH_OBJECT)) continue; update_ref(msg, ref->name, &ref->old_oid, NULL, 0, UPDATE_REFS_DIE_ON_ERR); diff --git a/builtin/difftool.c b/builtin/difftool.c index dbbfb19f19..30daa83bc6 100644 --- a/builtin/difftool.c +++ b/builtin/difftool.c @@ -295,7 +295,8 @@ static char *get_symlink(const struct object_id *oid, const char *path) } else { enum object_type type; unsigned long size; - data = read_object_file(oid, &type, &size); + data = repo_read_object_file(the_repository, oid, &type, + &size); if (!data) die(_("could not read object %s for symlink %s"), oid_to_hex(oid), path); diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 5fe7c02970..6515bd2ad8 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -296,7 +296,7 @@ static void export_blob(const struct object_id *oid) object = (struct object *)lookup_blob(the_repository, oid); eaten = 0; } else { - buf = read_object_file(oid, &type, &size); + buf = repo_read_object_file(the_repository, oid, &type, &size); if (!buf) die("could not read blob %s", oid_to_hex(oid)); if (check_object_signature(the_repository, oid, buf, size, @@ -766,7 +766,8 @@ static void handle_tag(const char *name, struct tag *tag) return; } - buf = read_object_file(&tag->object.oid, &type, &size); + buf = repo_read_object_file(the_repository, &tag->object.oid, &type, + &size); if (!buf) die("could not read tag %s", oid_to_hex(&tag->object.oid)); message = memmem(buf, size, "\n\n", 2); diff --git a/builtin/fast-import.c b/builtin/fast-import.c index 2098c0c5a3..2065434178 100644 --- a/builtin/fast-import.c +++ b/builtin/fast-import.c @@ -1265,7 +1265,7 @@ static void load_tree(struct tree_entry *root) die("Can't load tree %s", oid_to_hex(oid)); } else { enum object_type type; - buf = read_object_file(oid, &type, &size); + buf = repo_read_object_file(the_repository, oid, &type, &size); if (!buf || type != OBJ_TREE) die("Can't load tree %s", oid_to_hex(oid)); } @@ -2936,7 +2936,7 @@ static void cat_blob(struct object_entry *oe, struct object_id *oid) char *buf; if (!oe || oe->pack_id == MAX_PACK_ID) { - buf = read_object_file(oid, &type, &size); + buf = repo_read_object_file(the_repository, oid, &type, &size); } else { type = oe->type; buf = gfi_unpack_entry(oe, &size); @@ -3044,7 +3044,8 @@ static struct object_entry *dereference(struct object_entry *oe, buf = gfi_unpack_entry(oe, &size); } else { enum object_type unused; - buf = read_object_file(oid, &unused, &size); + buf = repo_read_object_file(the_repository, oid, &unused, + &size); } if (!buf) die("Can't load object %s", oid_to_hex(oid)); diff --git a/builtin/fetch.c b/builtin/fetch.c index db8815032f..784e344d2b 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -407,9 +407,9 @@ static void find_non_local_tags(const struct ref *refs, */ if (ends_with(ref->name, "^{}")) { if (item && - !has_object_file_with_flags(&ref->old_oid, quick_flags) && + !repo_has_object_file_with_flags(the_repository, &ref->old_oid, quick_flags) && !oidset_contains(&fetch_oids, &ref->old_oid) && - !has_object_file_with_flags(&item->oid, quick_flags) && + !repo_has_object_file_with_flags(the_repository, &item->oid, quick_flags) && !oidset_contains(&fetch_oids, &item->oid)) clear_item(item); item = NULL; @@ -423,7 +423,7 @@ static void find_non_local_tags(const struct ref *refs, * fetch. */ if (item && - !has_object_file_with_flags(&item->oid, quick_flags) && + !repo_has_object_file_with_flags(the_repository, &item->oid, quick_flags) && !oidset_contains(&fetch_oids, &item->oid)) clear_item(item); @@ -444,7 +444,7 @@ static void find_non_local_tags(const struct ref *refs, * checked to see if it needs fetching. */ if (item && - !has_object_file_with_flags(&item->oid, quick_flags) && + !repo_has_object_file_with_flags(the_repository, &item->oid, quick_flags) && !oidset_contains(&fetch_oids, &item->oid)) clear_item(item); @@ -1320,8 +1320,8 @@ static int check_exist_and_connected(struct ref *ref_map) * we need all direct targets to exist. */ for (r = rm; r; r = r->next) { - if (!has_object_file_with_flags(&r->old_oid, - OBJECT_INFO_SKIP_FETCH_OBJECT)) + if (!repo_has_object_file_with_flags(the_repository, &r->old_oid, + OBJECT_INFO_SKIP_FETCH_OBJECT)) return -1; } diff --git a/builtin/grep.c b/builtin/grep.c index f7821c5fbb..18561b1002 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -560,7 +560,8 @@ static int grep_cache(struct grep_opt *opt, void *data; unsigned long size; - data = read_object_file(&ce->oid, &type, &size); + data = repo_read_object_file(the_repository, &ce->oid, + &type, &size); init_tree_desc(&tree, data, size); hit |= grep_tree(opt, pathspec, &tree, &name, 0, 0); @@ -650,7 +651,8 @@ static int grep_tree(struct grep_opt *opt, const struct pathspec *pathspec, void *data; unsigned long size; - data = read_object_file(&entry.oid, &type, &size); + data = repo_read_object_file(the_repository, + &entry.oid, &type, &size); if (!data) die(_("unable to read tree (%s)"), oid_to_hex(&entry.oid)); diff --git a/builtin/index-pack.c b/builtin/index-pack.c index 6648f2daef..4cf69ee1d9 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -801,7 +801,8 @@ static void sha1_object(const void *data, struct object_entry *obj_entry, if (startup_info->have_repository) { read_lock(); collision_test_needed = - has_object_file_with_flags(oid, OBJECT_INFO_QUICK); + repo_has_object_file_with_flags(the_repository, oid, + OBJECT_INFO_QUICK); read_unlock(); } @@ -821,7 +822,8 @@ static void sha1_object(const void *data, struct object_entry *obj_entry, die(_("cannot read existing object info %s"), oid_to_hex(oid)); if (has_type != type || has_size != size) die(_("SHA1 COLLISION FOUND WITH %s !"), oid_to_hex(oid)); - has_data = read_object_file(oid, &has_type, &has_size); + has_data = repo_read_object_file(the_repository, oid, + &has_type, &has_size); read_unlock(); if (!data) data = new_data = get_data_from_pack(obj_entry); @@ -1414,7 +1416,8 @@ static void fix_unresolved_deltas(struct hashfile *f) if (objects[d->obj_no].real_type != OBJ_REF_DELTA) continue; - data = read_object_file(&d->oid, &type, &size); + data = repo_read_object_file(the_repository, &d->oid, &type, + &size); if (!data) continue; diff --git a/builtin/log.c b/builtin/log.c index b76a1c82d8..3dde77bde2 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -675,7 +675,7 @@ static int show_tag_object(const struct object_id *oid, struct rev_info *rev) { unsigned long size; enum object_type type; - char *buf = read_object_file(oid, &type, &size); + char *buf = repo_read_object_file(the_repository, oid, &type, &size); int offset = 0; if (!buf) diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index c0acbc6a54..d628ad1da9 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -69,7 +69,9 @@ static void *result(struct merge_list *entry, unsigned long *size) const char *path = entry->path; if (!entry->stage) - return read_object_file(&entry->blob->object.oid, &type, size); + return repo_read_object_file(the_repository, + &entry->blob->object.oid, &type, + size); base = NULL; if (entry->stage == 1) { base = entry->blob; @@ -92,8 +94,9 @@ static void *origin(struct merge_list *entry, unsigned long *size) enum object_type type; while (entry) { if (entry->stage == 2) - return read_object_file(&entry->blob->object.oid, - &type, size); + return repo_read_object_file(the_repository, + &entry->blob->object.oid, + &type, size); entry = entry->link; } return NULL; diff --git a/builtin/mktag.c b/builtin/mktag.c index 5d22909122..141a2d4569 100644 --- a/builtin/mktag.c +++ b/builtin/mktag.c @@ -51,7 +51,8 @@ static int verify_object_in_tag(struct object_id *tagged_oid, int *tagged_type) void *buffer; const struct object_id *repl; - buffer = read_object_file(tagged_oid, &type, &size); + buffer = repo_read_object_file(the_repository, tagged_oid, &type, + &size); if (!buffer) die(_("could not read tagged object '%s'"), oid_to_hex(tagged_oid)); diff --git a/builtin/notes.c b/builtin/notes.c index b497eae520..ba1daa4ff0 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -124,7 +124,7 @@ static void copy_obj_to_fd(int fd, const struct object_id *oid) { unsigned long size; enum object_type type; - char *buf = read_object_file(oid, &type, &size); + char *buf = repo_read_object_file(the_repository, oid, &type, &size); if (buf) { if (size) write_or_die(fd, buf, size); @@ -259,7 +259,7 @@ static int parse_reuse_arg(const struct option *opt, const char *arg, int unset) if (repo_get_oid(the_repository, arg, &object)) die(_("failed to resolve '%s' as a valid ref."), arg); - if (!(buf = read_object_file(&object, &type, &len))) + if (!(buf = repo_read_object_file(the_repository, &object, &type, &len))) die(_("failed to read object '%s'."), arg); if (type != OBJ_BLOB) { free(buf); @@ -616,7 +616,8 @@ static int append_edit(int argc, const char **argv, const char *prefix) /* Append buf to previous note contents */ unsigned long size; enum object_type type; - char *prev_buf = read_object_file(note, &type, &size); + char *prev_buf = repo_read_object_file(the_repository, note, + &type, &size); strbuf_grow(&d.buf, size + 1); if (d.buf.len && prev_buf && size) diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 74a167a180..3c9b35642c 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -288,11 +288,13 @@ static void *get_delta(struct object_entry *entry) void *buf, *base_buf, *delta_buf; enum object_type type; - buf = read_object_file(&entry->idx.oid, &type, &size); + buf = repo_read_object_file(the_repository, &entry->idx.oid, &type, + &size); if (!buf) die(_("unable to read %s"), oid_to_hex(&entry->idx.oid)); - base_buf = read_object_file(&DELTA(entry)->idx.oid, &type, - &base_size); + base_buf = repo_read_object_file(the_repository, + &DELTA(entry)->idx.oid, &type, + &base_size); if (!base_buf) die("unable to read %s", oid_to_hex(&DELTA(entry)->idx.oid)); @@ -454,7 +456,9 @@ static unsigned long write_no_reuse_object(struct hashfile *f, struct object_ent &size, NULL)) != NULL) buf = NULL; else { - buf = read_object_file(&entry->idx.oid, &type, &size); + buf = repo_read_object_file(the_repository, + &entry->idx.oid, &type, + &size); if (!buf) die(_("unable to read %s"), oid_to_hex(&entry->idx.oid)); @@ -1665,7 +1669,7 @@ static struct pbase_tree_cache *pbase_tree_get(const struct object_id *oid) /* Did not find one. Either we got a bogus request or * we need to read and perhaps cache. */ - data = read_object_file(oid, &type, &size); + data = repo_read_object_file(the_repository, oid, &type, &size); if (!data) return NULL; if (type != OBJ_TREE) { @@ -2525,7 +2529,9 @@ static int try_delta(struct unpacked *trg, struct unpacked *src, /* Load data if not already done */ if (!trg->data) { packing_data_lock(&to_pack); - trg->data = read_object_file(&trg_entry->idx.oid, &type, &sz); + trg->data = repo_read_object_file(the_repository, + &trg_entry->idx.oid, &type, + &sz); packing_data_unlock(&to_pack); if (!trg->data) die(_("object %s cannot be read"), @@ -2538,7 +2544,9 @@ static int try_delta(struct unpacked *trg, struct unpacked *src, } if (!src->data) { packing_data_lock(&to_pack); - src->data = read_object_file(&src_entry->idx.oid, &type, &sz); + src->data = repo_read_object_file(the_repository, + &src_entry->idx.oid, &type, + &sz); packing_data_unlock(&to_pack); if (!src->data) { if (src_entry->preferred_base) { diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 6d4fc1368a..5609206499 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -1494,7 +1494,7 @@ static const char *update(struct command *cmd, struct shallow_info *si) } } - if (!is_null_oid(new_oid) && !has_object_file(new_oid)) { + if (!is_null_oid(new_oid) && !repo_has_object_file(the_repository, new_oid)) { error("unpack should have generated %s, " "but I can't find it!", oid_to_hex(new_oid)); ret = "bad pack"; diff --git a/builtin/remote.c b/builtin/remote.c index 729f6f3643..a6b100dce7 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -443,7 +443,7 @@ static int get_push_ref_states(const struct ref *remote_refs, info->status = PUSH_STATUS_UPTODATE; else if (is_null_oid(&ref->old_oid)) info->status = PUSH_STATUS_CREATE; - else if (has_object_file(&ref->old_oid) && + else if (repo_has_object_file(the_repository, &ref->old_oid) && ref_newer(&ref->new_oid, &ref->old_oid)) info->status = PUSH_STATUS_FASTFORWARD; else diff --git a/builtin/show-ref.c b/builtin/show-ref.c index eb3ad1688b..b294ae4164 100644 --- a/builtin/show-ref.c +++ b/builtin/show-ref.c @@ -26,7 +26,7 @@ static void show_one(const char *refname, const struct object_id *oid) const char *hex; struct object_id peeled; - if (!has_object_file(oid)) + if (!repo_has_object_file(the_repository, oid)) die("git show-ref: bad ref %s (%s)", refname, oid_to_hex(oid)); diff --git a/builtin/tag.c b/builtin/tag.c index e6cbf6e5a8..cd97a141fa 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -215,7 +215,7 @@ static void write_tag_body(int fd, const struct object_id *oid) struct strbuf payload = STRBUF_INIT; struct strbuf signature = STRBUF_INIT; - orig = buf = read_object_file(oid, &type, &size); + orig = buf = repo_read_object_file(the_repository, oid, &type, &size); if (!buf) return; if (parse_signature(buf, size, &payload, &signature)) { @@ -366,7 +366,7 @@ static void create_reflog_msg(const struct object_id *oid, struct strbuf *sb) strbuf_addstr(sb, "object of unknown type"); break; case OBJ_COMMIT: - if ((buf = read_object_file(oid, &type, &size))) { + if ((buf = repo_read_object_file(the_repository, oid, &type, &size))) { subject_len = find_commit_subject(buf, &subject_start); strbuf_insert(sb, sb->len, subject_start, subject_len); } else { diff --git a/builtin/unpack-file.c b/builtin/unpack-file.c index e0d5178acc..9d5c152419 100644 --- a/builtin/unpack-file.c +++ b/builtin/unpack-file.c @@ -10,7 +10,7 @@ static char *create_temp_file(struct object_id *oid) unsigned long size; int fd; - buf = read_object_file(oid, &type, &size); + buf = repo_read_object_file(the_repository, oid, &type, &size); if (!buf || type != OBJ_BLOB) die("unable to read blob object %s", oid_to_hex(oid)); diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c index 43789b8ef2..c072096174 100644 --- a/builtin/unpack-objects.c +++ b/builtin/unpack-objects.c @@ -442,7 +442,7 @@ static void unpack_delta_entry(enum object_type type, unsigned long delta_size, delta_data = get_data(delta_size); if (!delta_data) return; - if (has_object_file(&base_oid)) + if (repo_has_object_file(the_repository, &base_oid)) ; /* Ok we have this one */ else if (resolve_against_held(nr, &base_oid, delta_data, delta_size)) @@ -508,7 +508,8 @@ static void unpack_delta_entry(enum object_type type, unsigned long delta_size, if (resolve_against_held(nr, &base_oid, delta_data, delta_size)) return; - base = read_object_file(&base_oid, &type, &base_size); + base = repo_read_object_file(the_repository, &base_oid, &type, + &base_size); if (!base) { error("failed to read delta-pack base object %s", oid_to_hex(&base_oid)); diff --git a/bulk-checkin.c b/bulk-checkin.c index 855b68ec23..b44b94e866 100644 --- a/bulk-checkin.c +++ b/bulk-checkin.c @@ -124,7 +124,7 @@ static int already_written(struct bulk_checkin_packfile *state, struct object_id int i; /* The object may already exist in the repository */ - if (has_object_file(oid)) + if (repo_has_object_file(the_repository, oid)) return 1; /* Might want to keep the list sorted */ diff --git a/bundle.c b/bundle.c index 6ab6cd7378..9b57bade7a 100644 --- a/bundle.c +++ b/bundle.c @@ -293,7 +293,7 @@ static int is_tag_in_date_range(struct object *tag, struct rev_info *revs) if (revs->max_age == -1 && revs->min_age == -1) goto out; - buf = read_object_file(&tag->oid, &type, &size); + buf = repo_read_object_file(the_repository, &tag->oid, &type, &size); if (!buf) goto out; line = memmem(buf, size, "\ntagger ", 8); diff --git a/cache-tree.c b/cache-tree.c index 88c2c04f87..59610117d0 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -229,7 +229,7 @@ int cache_tree_fully_valid(struct cache_tree *it) int i; if (!it) return 0; - if (it->entry_count < 0 || !has_object_file(&it->oid)) + if (it->entry_count < 0 || !repo_has_object_file(the_repository, &it->oid)) return 0; for (i = 0; i < it->subtree_nr; i++) { if (!cache_tree_fully_valid(it->down[i]->cache_tree)) @@ -280,7 +280,7 @@ static int update_one(struct cache_tree *it, } } - if (0 <= it->entry_count && has_object_file(&it->oid)) + if (0 <= it->entry_count && repo_has_object_file(the_repository, &it->oid)) return it->entry_count; /* @@ -386,7 +386,7 @@ static int update_one(struct cache_tree *it, ce_missing_ok = mode == S_IFGITLINK || missing_ok || !must_check_existence(ce); if (is_null_oid(oid) || - (!ce_missing_ok && !has_object_file(oid))) { + (!ce_missing_ok && !repo_has_object_file(the_repository, oid))) { strbuf_release(&buffer); if (expected_missing) return -1; @@ -434,7 +434,7 @@ static int update_one(struct cache_tree *it, struct object_id oid; hash_object_file(the_hash_algo, buffer.buf, buffer.len, OBJ_TREE, &oid); - if (has_object_file_with_flags(&oid, OBJECT_INFO_SKIP_FETCH_OBJECT)) + if (repo_has_object_file_with_flags(the_repository, &oid, OBJECT_INFO_SKIP_FETCH_OBJECT)) oidcpy(&it->oid, &oid); else to_invalidate = 1; diff --git a/combine-diff.c b/combine-diff.c index d84ab878b7..20f8a03924 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -332,7 +332,7 @@ static char *grab_blob(struct repository *r, *size = fill_textconv(r, textconv, df, &blob); free_filespec(df); } else { - blob = read_object_file(oid, &type, size); + blob = repo_read_object_file(the_repository, oid, &type, size); if (type != OBJ_BLOB) die("object '%s' is not a blob!", oid_to_hex(oid)); } diff --git a/commit.c b/commit.c index 6036376d05..dd22e76c3e 100644 --- a/commit.c +++ b/commit.c @@ -1212,7 +1212,8 @@ static void handle_signed_tag(struct commit *parent, struct commit_extra_header desc = merge_remote_util(parent); if (!desc || !desc->obj) return; - buf = read_object_file(&desc->obj->oid, &type, &size); + buf = repo_read_object_file(the_repository, &desc->obj->oid, &type, + &size); if (!buf || type != OBJ_TAG) goto free_return; if (!parse_signature(buf, size, &payload, &signature)) diff --git a/contrib/coccinelle/the_repository.cocci b/contrib/coccinelle/the_repository.cocci index 3c0bd8781e..fa159aba5b 100644 --- a/contrib/coccinelle/the_repository.cocci +++ b/contrib/coccinelle/the_repository.cocci @@ -77,6 +77,16 @@ | - diff_setup + repo_diff_setup +// object-store.h +| +- read_object_file ++ repo_read_object_file +| +- has_object_file ++ repo_has_object_file +| +- has_object_file_with_flags ++ repo_has_object_file_with_flags ) ( + the_repository, diff --git a/contrib/coccinelle/the_repository.pending.cocci b/contrib/coccinelle/the_repository.pending.cocci index 00461ee86b..69e9694111 100644 --- a/contrib/coccinelle/the_repository.pending.cocci +++ b/contrib/coccinelle/the_repository.pending.cocci @@ -5,17 +5,7 @@ @@ @@ ( -// object-store.h -- read_object_file -+ repo_read_object_file -| -- has_object_file -+ repo_has_object_file -| -- has_object_file_with_flags -+ repo_has_object_file_with_flags // pretty.h -| - format_commit_message + repo_format_commit_message // packfile.h diff --git a/dir.c b/dir.c index 4e99f0c868..6615afe8f1 100644 --- a/dir.c +++ b/dir.c @@ -267,7 +267,7 @@ static int do_read_blob(const struct object_id *oid, struct oid_stat *oid_stat, *size_out = 0; *data_out = NULL; - data = read_object_file(oid, &type, &sz); + data = repo_read_object_file(the_repository, oid, &type, &sz); if (!data || type != OBJ_BLOB) { free(data); return -1; diff --git a/entry.c b/entry.c index 971ab26871..7c50220a78 100644 --- a/entry.c +++ b/entry.c @@ -86,7 +86,8 @@ void *read_blob_entry(const struct cache_entry *ce, size_t *size) { enum object_type type; unsigned long ul; - void *blob_data = read_object_file(&ce->oid, &type, &ul); + void *blob_data = repo_read_object_file(the_repository, &ce->oid, + &type, &ul); *size = ul; if (blob_data) { diff --git a/fetch-pack.c b/fetch-pack.c index 04016d1e32..8c497b4821 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -762,9 +762,9 @@ static void mark_complete_and_common_ref(struct fetch_negotiator *negotiator, if (!commit) { struct object *o; - if (!has_object_file_with_flags(&ref->old_oid, - OBJECT_INFO_QUICK | - OBJECT_INFO_SKIP_FETCH_OBJECT)) + if (!repo_has_object_file_with_flags(the_repository, &ref->old_oid, + OBJECT_INFO_QUICK | + OBJECT_INFO_SKIP_FETCH_OBJECT)) continue; o = parse_object(the_repository, &ref->old_oid); if (!o || o->type != OBJ_COMMIT) @@ -1963,7 +1963,7 @@ static void update_shallow(struct fetch_pack_args *args, struct oid_array extra = OID_ARRAY_INIT; struct object_id *oid = si->shallow->oid; for (i = 0; i < si->shallow->nr; i++) - if (has_object_file(&oid[i])) + if (repo_has_object_file(the_repository, &oid[i])) oid_array_append(&extra, &oid[i]); if (extra.nr) { setup_alternate_shallow(&shallow_lock, diff --git a/fmt-merge-msg.c b/fmt-merge-msg.c index a5de91ba22..e9c6623647 100644 --- a/fmt-merge-msg.c +++ b/fmt-merge-msg.c @@ -520,7 +520,8 @@ static void fmt_merge_msg_sigs(struct strbuf *out) struct object_id *oid = origins.items[i].util; enum object_type type; unsigned long size; - char *buf = read_object_file(oid, &type, &size); + char *buf = repo_read_object_file(the_repository, oid, &type, + &size); char *origbuf = buf; unsigned long len = size; struct signature_check sigc = { NULL }; diff --git a/fsck.c b/fsck.c index 807a84971a..0343fb7a88 100644 --- a/fsck.c +++ b/fsck.c @@ -1332,7 +1332,7 @@ static int fsck_blobs(struct oidset *blobs_found, struct oidset *blobs_done, if (oidset_contains(blobs_done, oid)) continue; - buf = read_object_file(oid, &type, &size); + buf = repo_read_object_file(the_repository, oid, &type, &size); if (!buf) { if (is_promisor_object(oid)) continue; diff --git a/http-push.c b/http-push.c index 45d5cc0972..6776f3f275 100644 --- a/http-push.c +++ b/http-push.c @@ -362,7 +362,8 @@ static void start_put(struct transfer_request *request) ssize_t size; git_zstream stream; - unpacked = read_object_file(&request->obj->oid, &type, &len); + unpacked = repo_read_object_file(the_repository, &request->obj->oid, + &type, &len); hdrlen = format_object_header(hdr, sizeof(hdr), type, len); /* Set it up */ @@ -1427,7 +1428,7 @@ static void one_remote_ref(const char *refname) * Fetch a copy of the object if it doesn't exist locally - it * may be required for updating server info later. */ - if (repo->can_update_info_refs && !has_object_file(&ref->old_oid)) { + if (repo->can_update_info_refs && !repo_has_object_file(the_repository, &ref->old_oid)) { obj = lookup_unknown_object(the_repository, &ref->old_oid); fprintf(stderr, " fetch %s for %s\n", oid_to_hex(&ref->old_oid), refname); @@ -1628,14 +1629,14 @@ static int delete_remote_branch(const char *pattern, int force) return error("Remote HEAD symrefs too deep"); if (is_null_oid(&head_oid)) return error("Unable to resolve remote HEAD"); - if (!has_object_file(&head_oid)) + if (!repo_has_object_file(the_repository, &head_oid)) return error("Remote HEAD resolves to object %s\nwhich does not exist locally, perhaps you need to fetch?", oid_to_hex(&head_oid)); /* Remote branch must resolve to a known object */ if (is_null_oid(&remote_ref->old_oid)) return error("Unable to resolve remote branch %s", remote_ref->name); - if (!has_object_file(&remote_ref->old_oid)) + if (!repo_has_object_file(the_repository, &remote_ref->old_oid)) return error("Remote branch %s resolves to object %s\nwhich does not exist locally, perhaps you need to fetch?", remote_ref->name, oid_to_hex(&remote_ref->old_oid)); /* Remote branch must be an ancestor of remote HEAD */ @@ -1855,7 +1856,7 @@ int cmd_main(int argc, const char **argv) if (!force_all && !is_null_oid(&ref->old_oid) && !ref->force) { - if (!has_object_file(&ref->old_oid) || + if (!repo_has_object_file(the_repository, &ref->old_oid) || !ref_newer(&ref->peer_ref->new_oid, &ref->old_oid)) { /* diff --git a/http-walker.c b/http-walker.c index b8f0f98ae1..da1b6b6421 100644 --- a/http-walker.c +++ b/http-walker.c @@ -135,7 +135,7 @@ static int fill_active_slot(struct walker *walker) list_for_each_safe(pos, tmp, head) { obj_req = list_entry(pos, struct object_request, node); if (obj_req->state == WAITING) { - if (has_object_file(&obj_req->oid)) + if (repo_has_object_file(the_repository, &obj_req->oid)) obj_req->state = COMPLETE; else { start_object_request(walker, obj_req); @@ -492,7 +492,7 @@ static int fetch_object(struct walker *walker, unsigned char *hash) if (!obj_req) return error("Couldn't find request for %s in the queue", hex); - if (has_object_file(&obj_req->oid)) { + if (repo_has_object_file(the_repository, &obj_req->oid)) { if (obj_req->req) abort_http_object_request(obj_req->req); abort_object_request(obj_req); diff --git a/list-objects.c b/list-objects.c index 5550b3aafe..ccad7304df 100644 --- a/list-objects.c +++ b/list-objects.c @@ -64,7 +64,7 @@ static void process_blob(struct traversal_context *ctx, * of missing objects. */ if (ctx->revs->exclude_promisor_objects && - !has_object_file(&obj->oid) && + !repo_has_object_file(the_repository, &obj->oid) && is_promisor_object(&obj->oid)) return; diff --git a/mailmap.c b/mailmap.c index ed8289aea5..f68f664bb1 100644 --- a/mailmap.c +++ b/mailmap.c @@ -216,7 +216,7 @@ static int read_mailmap_blob(struct string_list *map, const char *name) if (repo_get_oid(the_repository, name, &oid) < 0) return 0; - buf = read_object_file(&oid, &type, &size); + buf = repo_read_object_file(the_repository, &oid, &type, &size); if (!buf) return error("unable to read mailmap object at %s", name); if (type != OBJ_BLOB) diff --git a/match-trees.c b/match-trees.c index 49398e599f..dfc4093425 100644 --- a/match-trees.c +++ b/match-trees.c @@ -55,7 +55,7 @@ static void *fill_tree_desc_strict(struct tree_desc *desc, enum object_type type; unsigned long size; - buffer = read_object_file(hash, &type, &size); + buffer = repo_read_object_file(the_repository, hash, &type, &size); if (!buffer) die("unable to read tree (%s)", oid_to_hex(hash)); if (type != OBJ_TREE) @@ -188,7 +188,7 @@ static int splice_tree(const struct object_id *oid1, const char *prefix, if (*subpath) subpath++; - buf = read_object_file(oid1, &type, &sz); + buf = repo_read_object_file(the_repository, oid1, &type, &sz); if (!buf) die("cannot read tree %s", oid_to_hex(oid1)); init_tree_desc(&desc, buf, sz); diff --git a/merge-blobs.c b/merge-blobs.c index 8138090f81..f13246406c 100644 --- a/merge-blobs.c +++ b/merge-blobs.c @@ -12,7 +12,8 @@ static int fill_mmfile_blob(mmfile_t *f, struct blob *obj) unsigned long size; enum object_type type; - buf = read_object_file(&obj->object.oid, &type, &size); + buf = repo_read_object_file(the_repository, &obj->object.oid, &type, + &size); if (!buf) return -1; if (type != OBJ_BLOB) { @@ -78,7 +79,8 @@ void *merge_blobs(struct index_state *istate, const char *path, return NULL; if (!our) our = their; - return read_object_file(&our->object.oid, &type, size); + return repo_read_object_file(the_repository, &our->object.oid, + &type, size); } if (fill_mmfile_blob(&f1, our) < 0) diff --git a/merge-ort.c b/merge-ort.c index e9f8bd1598..979e8b057b 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -3505,7 +3505,7 @@ static int read_oid_strbuf(struct merge_options *opt, void *buf; enum object_type type; unsigned long size; - buf = read_object_file(oid, &type, &size); + buf = repo_read_object_file(the_repository, oid, &type, &size); if (!buf) return err(opt, _("cannot read object %s"), oid_to_hex(oid)); if (type != OBJ_BLOB) { diff --git a/merge-recursive.c b/merge-recursive.c index 75fa0ef318..d83ce19bb1 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -951,7 +951,8 @@ static int update_file_flags(struct merge_options *opt, goto update_index; } - buf = read_object_file(&contents->oid, &type, &size); + buf = repo_read_object_file(the_repository, &contents->oid, + &type, &size); if (!buf) { ret = err(opt, _("cannot read object %s '%s'"), oid_to_hex(&contents->oid), path); @@ -3021,7 +3022,7 @@ static int read_oid_strbuf(struct merge_options *opt, void *buf; enum object_type type; unsigned long size; - buf = read_object_file(oid, &type, &size); + buf = repo_read_object_file(the_repository, oid, &type, &size); if (!buf) return err(opt, _("cannot read object %s"), oid_to_hex(oid)); if (type != OBJ_BLOB) { diff --git a/notes-cache.c b/notes-cache.c index 9dfd251a81..3846609136 100644 --- a/notes-cache.c +++ b/notes-cache.c @@ -81,7 +81,7 @@ char *notes_cache_get(struct notes_cache *c, struct object_id *key_oid, value_oid = get_note(&c->tree, key_oid); if (!value_oid) return NULL; - value = read_object_file(value_oid, &type, &size); + value = repo_read_object_file(the_repository, value_oid, &type, &size); *outsize = size; return value; diff --git a/notes-merge.c b/notes-merge.c index df1a16ac66..8a09cd9f77 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -326,7 +326,7 @@ static void write_note_to_worktree(const struct object_id *obj, { enum object_type type; unsigned long size; - void *buf = read_object_file(note, &type, &size); + void *buf = repo_read_object_file(the_repository, note, &type, &size); if (!buf) die("cannot read note %s for object %s", diff --git a/notes.c b/notes.c index 750e18c400..e4dab62cad 100644 --- a/notes.c +++ b/notes.c @@ -786,7 +786,7 @@ static int prune_notes_helper(const struct object_id *object_oid, struct note_delete_list **l = (struct note_delete_list **) cb_data; struct note_delete_list *n; - if (has_object_file(object_oid)) + if (repo_has_object_file(the_repository, object_oid)) return 0; /* nothing to do for this note */ /* failed to find object => prune this note */ @@ -807,13 +807,15 @@ int combine_notes_concatenate(struct object_id *cur_oid, /* read in both note blob objects */ if (!is_null_oid(new_oid)) - new_msg = read_object_file(new_oid, &new_type, &new_len); + new_msg = repo_read_object_file(the_repository, new_oid, + &new_type, &new_len); if (!new_msg || !new_len || new_type != OBJ_BLOB) { free(new_msg); return 0; } if (!is_null_oid(cur_oid)) - cur_msg = read_object_file(cur_oid, &cur_type, &cur_len); + cur_msg = repo_read_object_file(the_repository, cur_oid, + &cur_type, &cur_len); if (!cur_msg || !cur_len || cur_type != OBJ_BLOB) { free(cur_msg); free(new_msg); @@ -869,7 +871,7 @@ static int string_list_add_note_lines(struct string_list *list, return 0; /* read_sha1_file NUL-terminates */ - data = read_object_file(oid, &t, &len); + data = repo_read_object_file(the_repository, oid, &t, &len); if (t != OBJ_BLOB || !data || !len) { free(data); return t != OBJ_BLOB || !data; @@ -1264,7 +1266,7 @@ static void format_note(struct notes_tree *t, const struct object_id *object_oid if (!oid) return; - if (!(msg = read_object_file(oid, &type, &msglen)) || type != OBJ_BLOB) { + if (!(msg = repo_read_object_file(the_repository, oid, &type, &msglen)) || type != OBJ_BLOB) { free(msg); return; } diff --git a/object-file.c b/object-file.c index 939865c1ae..141cf85f25 100644 --- a/object-file.c +++ b/object-file.c @@ -1678,7 +1678,7 @@ int pretend_object_file(void *buf, unsigned long len, enum object_type type, struct cached_object *co; hash_object_file(the_hash_algo, buf, len, type, oid); - if (has_object_file_with_flags(oid, OBJECT_INFO_QUICK | OBJECT_INFO_SKIP_FETCH_OBJECT) || + if (repo_has_object_file_with_flags(the_repository, oid, OBJECT_INFO_QUICK | OBJECT_INFO_SKIP_FETCH_OBJECT) || find_cached_object(oid)) return 0; ALLOC_GROW(cached_objects, cached_object_nr + 1, cached_object_alloc); diff --git a/object-store.h b/object-store.h index 1a713d89d7..b47849d4e7 100644 --- a/object-store.h +++ b/object-store.h @@ -245,9 +245,6 @@ void *repo_read_object_file(struct repository *r, const struct object_id *oid, enum object_type *type, unsigned long *size); -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define read_object_file(oid, type, size) repo_read_object_file(the_repository, oid, type, size) -#endif /* 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 *); @@ -324,10 +321,6 @@ int has_object(struct repository *r, const struct object_id *oid, 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); -#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS -#define has_object_file(oid) repo_has_object_file(the_repository, oid) -#define has_object_file_with_flags(oid, flags) repo_has_object_file_with_flags(the_repository, oid, flags) -#endif /* * Return true iff an alternate object database has a loose object diff --git a/read-cache.c b/read-cache.c index d6c69164d0..1548e88668 100644 --- a/read-cache.c +++ b/read-cache.c @@ -263,7 +263,7 @@ static int ce_compare_link(const struct cache_entry *ce, size_t expected_size) if (strbuf_readlink(&sb, ce->name, expected_size)) return -1; - buffer = read_object_file(&ce->oid, &type, &size); + buffer = repo_read_object_file(the_repository, &ce->oid, &type, &size); if (buffer) { if (size == sb.len) match = memcmp(buffer, sb.buf, size); @@ -3553,7 +3553,8 @@ void *read_blob_data_from_index(struct index_state *istate, } if (pos < 0) return NULL; - data = read_object_file(&istate->cache[pos]->oid, &type, &sz); + data = repo_read_object_file(the_repository, &istate->cache[pos]->oid, + &type, &sz); if (!data || type != OBJ_BLOB) { free(data); return NULL; diff --git a/reflog.c b/reflog.c index 6e8362e7a2..510663e1e5 100644 --- a/reflog.c +++ b/reflog.c @@ -28,7 +28,8 @@ static int tree_is_complete(const struct object_id *oid) if (!tree->buffer) { enum object_type type; unsigned long size; - void *data = read_object_file(oid, &type, &size); + void *data = repo_read_object_file(the_repository, oid, &type, + &size); if (!data) { tree->object.flags |= INCOMPLETE; return 0; @@ -39,7 +40,7 @@ static int tree_is_complete(const struct object_id *oid) init_tree_desc(&desc, tree->buffer, tree->size); complete = 1; while (tree_entry(&desc, &entry)) { - if (!has_object_file(&entry.oid) || + if (!repo_has_object_file(the_repository, &entry.oid) || (S_ISDIR(entry.mode) && !tree_is_complete(&entry.oid))) { tree->object.flags |= INCOMPLETE; complete = 0; diff --git a/remote.c b/remote.c index 71b1ae2db0..12f6bea625 100644 --- a/remote.c +++ b/remote.c @@ -1759,7 +1759,7 @@ void set_ref_status_for_push(struct ref *remote_refs, int send_mirror, if (!reject_reason && !ref->deletion && !is_null_oid(&ref->old_oid)) { if (starts_with(ref->name, "refs/tags/")) reject_reason = REF_STATUS_REJECT_ALREADY_EXISTS; - else if (!has_object_file(&ref->old_oid)) + else if (!repo_has_object_file(the_repository, &ref->old_oid)) reject_reason = REF_STATUS_REJECT_FETCH_FIRST; else if (!lookup_commit_reference_gently(the_repository, &ref->old_oid, 1) || !lookup_commit_reference_gently(the_repository, &ref->new_oid, 1)) diff --git a/rerere.c b/rerere.c index 876ab435da..dfbc1d555e 100644 --- a/rerere.c +++ b/rerere.c @@ -965,8 +965,9 @@ static int handle_cache(struct index_state *istate, break; i = ce_stage(ce) - 1; if (!mmfile[i].ptr) { - mmfile[i].ptr = read_object_file(&ce->oid, &type, - &size); + mmfile[i].ptr = repo_read_object_file(the_repository, + &ce->oid, &type, + &size); mmfile[i].size = size; } } diff --git a/send-pack.c b/send-pack.c index f2e19838c9..8f8b3d986c 100644 --- a/send-pack.c +++ b/send-pack.c @@ -42,9 +42,9 @@ int option_parse_push_signed(const struct option *opt, static void feed_object(const struct object_id *oid, FILE *fh, int negative) { if (negative && - !has_object_file_with_flags(oid, - OBJECT_INFO_SKIP_FETCH_OBJECT | - OBJECT_INFO_QUICK)) + !repo_has_object_file_with_flags(the_repository, oid, + OBJECT_INFO_SKIP_FETCH_OBJECT | + OBJECT_INFO_QUICK)) return; if (negative) diff --git a/shallow.c b/shallow.c index 1a2b159fd4..07278467e4 100644 --- a/shallow.c +++ b/shallow.c @@ -301,7 +301,7 @@ static int write_one_shallow(const struct commit_graft *graft, void *cb_data) if (graft->nr_parent != -1) return 0; if (data->flags & QUICK) { - if (!has_object_file(&graft->oid)) + if (!repo_has_object_file(the_repository, &graft->oid)) return 0; } else if (data->flags & SEEN_ONLY) { struct commit *c = lookup_commit(the_repository, &graft->oid); @@ -466,7 +466,7 @@ void prepare_shallow_info(struct shallow_info *info, struct oid_array *sa) ALLOC_ARRAY(info->ours, sa->nr); ALLOC_ARRAY(info->theirs, sa->nr); for (i = 0; i < sa->nr; i++) { - if (has_object_file(sa->oid + i)) { + if (repo_has_object_file(the_repository, sa->oid + i)) { struct commit_graft *graft; graft = lookup_commit_graft(the_repository, &sa->oid[i]); @@ -494,7 +494,7 @@ void remove_nonexistent_theirs_shallow(struct shallow_info *info) for (i = dst = 0; i < info->nr_theirs; i++) { if (i != dst) info->theirs[dst] = info->theirs[i]; - if (has_object_file(oid + info->theirs[i])) + if (repo_has_object_file(the_repository, oid + info->theirs[i])) dst++; } info->nr_theirs = dst; diff --git a/submodule-config.c b/submodule-config.c index 336732ed78..4245bc5975 100644 --- a/submodule-config.c +++ b/submodule-config.c @@ -588,7 +588,8 @@ static const struct submodule *config_from(struct submodule_cache *cache, if (submodule) goto out; - config = read_object_file(&oid, &type, &config_size); + config = repo_read_object_file(the_repository, &oid, &type, + &config_size); if (!config || type != OBJ_BLOB) goto out; diff --git a/tag.c b/tag.c index dfc900e62e..d62084842f 100644 --- a/tag.c +++ b/tag.c @@ -54,7 +54,7 @@ int gpg_verify_tag(const struct object_id *oid, const char *name_to_report, repo_find_unique_abbrev(the_repository, oid, DEFAULT_ABBREV), type_name(type)); - buf = read_object_file(oid, &type, &size); + buf = repo_read_object_file(the_repository, oid, &type, &size); if (!buf) return error("%s: unable to read file.", name_to_report ? @@ -216,7 +216,8 @@ int parse_tag(struct tag *item) if (item->object.parsed) return 0; - data = read_object_file(&item->object.oid, &type, &size); + data = repo_read_object_file(the_repository, &item->object.oid, &type, + &size); if (!data) return error("Could not read %s", oid_to_hex(&item->object.oid)); diff --git a/tree.c b/tree.c index f0742f4167..1b403c4b5c 100644 --- a/tree.c +++ b/tree.c @@ -129,7 +129,8 @@ int parse_tree_gently(struct tree *item, int quiet_on_missing) if (item->object.parsed) return 0; - buffer = read_object_file(&item->object.oid, &type, &size); + buffer = repo_read_object_file(the_repository, &item->object.oid, + &type, &size); if (!buffer) return quiet_on_missing ? -1 : error("Could not read %s", diff --git a/upload-pack.c b/upload-pack.c index 551f22ffa5..4ef27ed47f 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -499,8 +499,8 @@ static int got_oid(struct upload_pack_data *data, { if (get_oid_hex(hex, oid)) die("git upload-pack: expected SHA1 object, got '%s'", hex); - if (!has_object_file_with_flags(oid, - OBJECT_INFO_QUICK | OBJECT_INFO_SKIP_FETCH_OBJECT)) + if (!repo_has_object_file_with_flags(the_repository, oid, + OBJECT_INFO_QUICK | OBJECT_INFO_SKIP_FETCH_OBJECT)) return -1; return do_got_oid(data, oid); } @@ -1600,8 +1600,8 @@ static int process_haves(struct upload_pack_data *data, struct oid_array *common for (i = 0; i < data->haves.nr; i++) { const struct object_id *oid = &data->haves.oid[i]; - if (!has_object_file_with_flags(oid, - OBJECT_INFO_QUICK | OBJECT_INFO_SKIP_FETCH_OBJECT)) + if (!repo_has_object_file_with_flags(the_repository, oid, + OBJECT_INFO_QUICK | OBJECT_INFO_SKIP_FETCH_OBJECT)) continue; oid_array_append(common, oid); diff --git a/walker.c b/walker.c index 98d65a559b..8418066e50 100644 --- a/walker.c +++ b/walker.c @@ -145,7 +145,7 @@ static int process(struct walker *walker, struct object *obj) return 0; obj->flags |= SEEN; - if (has_object_file(&obj->oid)) { + if (repo_has_object_file(the_repository, &obj->oid)) { /* We already have it, so we should scan it now. */ obj->flags |= TO_SCAN; } diff --git a/xdiff-interface.c b/xdiff-interface.c index e87950de32..c6f244116c 100644 --- a/xdiff-interface.c +++ b/xdiff-interface.c @@ -183,7 +183,7 @@ void read_mmblob(mmfile_t *ptr, const struct object_id *oid) return; } - ptr->ptr = read_object_file(oid, &type, &size); + ptr->ptr = repo_read_object_file(the_repository, oid, &type, &size); if (!ptr->ptr || type != OBJ_BLOB) die("unable to read blob object %s", oid_to_hex(oid)); ptr->size = size; -- cgit 1.2.3-korg From 12cb1c10a64170a5d600dd1c6c8abfeec105fb6b Mon Sep 17 00:00:00 2001 From: Ævar Arnfjörð Bjarmason Date: Tue, 28 Mar 2023 15:58:54 +0200 Subject: cocci: apply the "refs.h" part of "the_repository.pending" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apply the part of "the_repository.pending.cocci" pertaining to "refs.h". Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- archive.c | 5 +++-- branch.c | 3 ++- builtin/checkout.c | 6 ++++-- builtin/fast-export.c | 3 ++- builtin/log.c | 3 ++- builtin/merge.c | 3 ++- builtin/reset.c | 3 ++- builtin/rev-parse.c | 4 +++- builtin/show-branch.c | 3 ++- builtin/stash.c | 3 ++- bundle.c | 3 ++- commit.c | 3 ++- contrib/coccinelle/the_repository.cocci | 4 ++++ contrib/coccinelle/the_repository.pending.cocci | 4 ---- refs.h | 6 ------ remote.c | 5 +++-- wt-status.c | 3 ++- 17 files changed, 37 insertions(+), 27 deletions(-) (limited to 'commit.c') diff --git a/archive.c b/archive.c index d43687a5c4..716a18567b 100644 --- a/archive.c +++ b/archive.c @@ -456,10 +456,11 @@ static void parse_treeish_arg(const char **argv, const char *colon = strchrnul(name, ':'); int refnamelen = colon - name; - if (!dwim_ref(name, refnamelen, &oid, &ref, 0)) + if (!repo_dwim_ref(the_repository, name, refnamelen, &oid, &ref, 0)) die(_("no such ref: %.*s"), refnamelen, name); } else { - dwim_ref(name, strlen(name), &oid, &ref, 0); + repo_dwim_ref(the_repository, name, strlen(name), &oid, &ref, + 0); } if (repo_get_oid(the_repository, name, &oid)) diff --git a/branch.c b/branch.c index 2efb5fbaa5..a01e465b11 100644 --- a/branch.c +++ b/branch.c @@ -541,7 +541,8 @@ static void dwim_branch_start(struct repository *r, const char *start_name, die(_("not a valid object name: '%s'"), start_name); } - switch (dwim_ref(start_name, strlen(start_name), &oid, &real_ref, 0)) { + switch (repo_dwim_ref(the_repository, start_name, strlen(start_name), + &oid, &real_ref, 0)) { case 0: /* Not branching from any existing branch */ if (explicit_tracking) diff --git a/builtin/checkout.c b/builtin/checkout.c index 1d1f33e33e..cb7cd315b3 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -703,7 +703,8 @@ static void setup_branch_path(struct branch_info *branch) * If this is a ref, resolve it; otherwise, look up the OID for our * expression. Failure here is okay. */ - if (!dwim_ref(branch->name, strlen(branch->name), &branch->oid, &branch->refname, 0)) + if (!repo_dwim_ref(the_repository, branch->name, strlen(branch->name), + &branch->oid, &branch->refname, 0)) repo_get_oid_committish(the_repository, branch->name, &branch->oid); strbuf_branchname(&buf, branch->name, INTERPRET_BRANCH_LOCAL); @@ -1424,7 +1425,8 @@ static void die_expecting_a_branch(const struct branch_info *branch_info) char *to_free; int code; - if (dwim_ref(branch_info->name, strlen(branch_info->name), &oid, &to_free, 0) == 1) { + if (repo_dwim_ref(the_repository, branch_info->name, + strlen(branch_info->name), &oid, &to_free, 0) == 1) { const char *ref = to_free; if (skip_prefix(ref, "refs/tags/", &ref)) diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 6515bd2ad8..550f078a8e 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -918,7 +918,8 @@ static void get_tags_and_duplicates(struct rev_cmdline_info *info) if (e->flags & UNINTERESTING) continue; - if (dwim_ref(e->name, strlen(e->name), &oid, &full_name, 0) != 1) + if (repo_dwim_ref(the_repository, e->name, strlen(e->name), + &oid, &full_name, 0) != 1) continue; if (refspecs.nr) { diff --git a/builtin/log.c b/builtin/log.c index 3dde77bde2..acf3faecd8 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1204,7 +1204,8 @@ static char *find_branch_name(struct rev_info *rev) return NULL; ref = rev->cmdline.rev[positive].name; tip_oid = &rev->cmdline.rev[positive].item->oid; - if (dwim_ref(ref, strlen(ref), &branch_oid, &full_ref, 0) && + if (repo_dwim_ref(the_repository, ref, strlen(ref), &branch_oid, + &full_ref, 0) && skip_prefix(full_ref, "refs/heads/", &v) && oideq(tip_oid, &branch_oid)) branch = xstrdup(v); diff --git a/builtin/merge.c b/builtin/merge.c index 197e152aba..69666546ca 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -517,7 +517,8 @@ static void merge_name(const char *remote, struct strbuf *msg) if (!remote_head) die(_("'%s' does not point to a commit"), remote); - if (dwim_ref(remote, strlen(remote), &branch_head, &found_ref, 0) > 0) { + if (repo_dwim_ref(the_repository, remote, strlen(remote), &branch_head, + &found_ref, 0) > 0) { if (starts_with(found_ref, "refs/heads/")) { strbuf_addf(msg, "%s\t\tbranch '%s' of .\n", oid_to_hex(&branch_head), remote); diff --git a/builtin/reset.c b/builtin/reset.c index 75b447ffdc..b65f379440 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -465,7 +465,8 @@ int cmd_reset(int argc, const char **argv, const char *prefix) char *ref = NULL; int err; - dwim_ref(rev, strlen(rev), &dummy, &ref, 0); + repo_dwim_ref(the_repository, rev, strlen(rev), + &dummy, &ref, 0); if (ref && !starts_with(ref, "refs/")) FREE_AND_NULL(ref); diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index 5685cf0ea7..663f282c5f 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -136,7 +136,9 @@ static void show_rev(int type, const struct object_id *oid, const char *name) struct object_id discard; char *full; - switch (dwim_ref(name, strlen(name), &discard, &full, 0)) { + switch (repo_dwim_ref(the_repository, name, + strlen(name), &discard, &full, + 0)) { case 0: /* * Not found -- not a ref. We could diff --git a/builtin/show-branch.c b/builtin/show-branch.c index d60e536a53..af680485d5 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -746,7 +746,8 @@ int cmd_show_branch(int ac, const char **av, const char *prefix) die(Q_("only %d entry can be shown at one time.", "only %d entries can be shown at one time.", MAX_REVS), MAX_REVS); - if (!dwim_ref(*av, strlen(*av), &oid, &ref, 0)) + if (!repo_dwim_ref(the_repository, *av, strlen(*av), &oid, + &ref, 0)) die(_("no such ref %s"), *av); /* Has the base been specified? */ diff --git a/builtin/stash.c b/builtin/stash.c index 6c062e5204..364273f101 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -211,7 +211,8 @@ static int get_stash_info(struct stash_info *info, int argc, const char **argv) end_of_rev = strchrnul(revision, '@'); strbuf_add(&symbolic, revision, end_of_rev - revision); - ret = dwim_ref(symbolic.buf, symbolic.len, &dummy, &expanded_ref, 0); + ret = repo_dwim_ref(the_repository, symbolic.buf, symbolic.len, + &dummy, &expanded_ref, 0); strbuf_release(&symbolic); switch (ret) { case 0: /* Not found, but valid ref */ diff --git a/bundle.c b/bundle.c index 9b57bade7a..dca96e51ee 100644 --- a/bundle.c +++ b/bundle.c @@ -382,7 +382,8 @@ static int write_bundle_refs(int bundle_fd, struct rev_info *revs) if (e->item->flags & UNINTERESTING) continue; - if (dwim_ref(e->name, strlen(e->name), &oid, &ref, 0) != 1) + if (repo_dwim_ref(the_repository, e->name, strlen(e->name), + &oid, &ref, 0) != 1) goto skip_write_ref; if (read_ref_full(e->name, RESOLVE_REF_READING, &oid, &flag)) flag = 0; diff --git a/commit.c b/commit.c index dd22e76c3e..0e2fc7dbab 100644 --- a/commit.c +++ b/commit.c @@ -996,7 +996,8 @@ struct commit *get_fork_point(const char *refname, struct commit *commit) struct commit *ret = NULL; char *full_refname; - switch (dwim_ref(refname, strlen(refname), &oid, &full_refname, 0)) { + switch (repo_dwim_ref(the_repository, refname, strlen(refname), &oid, + &full_refname, 0)) { case 0: die("No such ref: '%s'", refname); case 1: diff --git a/contrib/coccinelle/the_repository.cocci b/contrib/coccinelle/the_repository.cocci index d5b644a868..b20a3e7084 100644 --- a/contrib/coccinelle/the_repository.cocci +++ b/contrib/coccinelle/the_repository.cocci @@ -105,6 +105,10 @@ | - has_promisor_remote + repo_has_promisor_remote +// refs.h +| +- dwim_ref ++ repo_dwim_ref ) ( + the_repository, diff --git a/contrib/coccinelle/the_repository.pending.cocci b/contrib/coccinelle/the_repository.pending.cocci index e17a60198c..8bf30798a0 100644 --- a/contrib/coccinelle/the_repository.pending.cocci +++ b/contrib/coccinelle/the_repository.pending.cocci @@ -5,11 +5,7 @@ @@ @@ ( -// refs.h -- dwim_ref -+ repo_dwim_ref // rerere.h -| - rerere + repo_rerere // revision.h diff --git a/refs.h b/refs.h index 935cdd1ece..2998244b61 100644 --- a/refs.h +++ b/refs.h @@ -159,12 +159,6 @@ int expand_ref(struct repository *r, const char *str, int len, struct object_id int repo_dwim_ref(struct repository *r, const char *str, int len, struct object_id *oid, char **ref, int nonfatal_dangling_mark); int repo_dwim_log(struct repository *r, const char *str, int len, struct object_id *oid, char **ref); -static inline int dwim_ref(const char *str, int len, struct object_id *oid, - char **ref, int nonfatal_dangling_mark) -{ - return repo_dwim_ref(the_repository, str, len, oid, ref, - nonfatal_dangling_mark); -} int dwim_log(const char *str, int len, struct object_id *oid, char **ref); /* diff --git a/remote.c b/remote.c index 12f6bea625..a03b03e467 100644 --- a/remote.c +++ b/remote.c @@ -1808,8 +1808,9 @@ static void set_merge(struct remote_state *remote_state, struct branch *ret) if (!remote_find_tracking(remote, ret->merge[i]) || strcmp(ret->remote_name, ".")) continue; - if (dwim_ref(ret->merge_name[i], strlen(ret->merge_name[i]), - &oid, &ref, 0) == 1) + if (repo_dwim_ref(the_repository, ret->merge_name[i], + strlen(ret->merge_name[i]), &oid, &ref, + 0) == 1) ret->merge[i]->dst = ref; else ret->merge[i]->dst = xstrdup(ret->merge_name[i]); diff --git a/wt-status.c b/wt-status.c index c55c51b192..dcd1d0cee4 100644 --- a/wt-status.c +++ b/wt-status.c @@ -1664,7 +1664,8 @@ static void wt_status_get_detached_from(struct repository *r, return; } - if (dwim_ref(cb.buf.buf, cb.buf.len, &oid, &ref, 1) == 1 && + if (repo_dwim_ref(the_repository, cb.buf.buf, cb.buf.len, &oid, &ref, + 1) == 1 && /* oid is a commit? match without further lookup */ (oideq(&cb.noid, &oid) || /* perhaps oid is a tag, try to dereference to a commit */ -- cgit 1.2.3-korg From dabab1d6e6c49f3d4a6393a9984e3f6a4e8fb991 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 11 Apr 2023 00:41:49 -0700 Subject: object-name.h: move declarations for object-name.c functions from cache.h Signed-off-by: Elijah Newren Acked-by: Calvin Wan Signed-off-by: Junio C Hamano --- add-patch.c | 1 + apply.c | 1 + archive.h | 1 + bisect.c | 1 + branch.c | 1 + builtin/am.c | 1 + builtin/bisect.c | 1 + builtin/blame.c | 1 + builtin/branch.c | 1 + builtin/cat-file.c | 1 + builtin/check-attr.c | 1 + builtin/checkout.c | 1 + builtin/commit-tree.c | 1 + builtin/commit.c | 1 + builtin/describe.c | 1 + builtin/fast-import.c | 1 + builtin/fetch.c | 1 + builtin/fsck.c | 1 + builtin/grep.c | 1 + builtin/log.c | 1 + builtin/ls-files.c | 1 + builtin/ls-tree.c | 1 + builtin/merge-base.c | 1 + builtin/merge-recursive.c | 1 + builtin/merge-tree.c | 1 + builtin/merge.c | 1 + builtin/name-rev.c | 1 + builtin/notes.c | 1 + builtin/prune.c | 1 + builtin/pull.c | 1 + builtin/range-diff.c | 1 + builtin/read-tree.c | 1 + builtin/rebase.c | 1 + builtin/receive-pack.c | 1 + builtin/replace.c | 1 + builtin/reset.c | 1 + builtin/rev-list.c | 1 + builtin/rev-parse.c | 1 + builtin/rm.c | 1 + builtin/show-branch.c | 1 + builtin/show-ref.c | 1 + builtin/sparse-checkout.c | 1 + builtin/stash.c | 1 + builtin/submodule--helper.c | 1 + builtin/tag.c | 1 + builtin/unpack-file.c | 1 + builtin/update-ref.c | 1 + builtin/verify-commit.c | 1 + builtin/verify-tag.c | 1 + builtin/worktree.c | 1 + cache.h | 110 ----------------------------------- checkout.c | 1 + combine-diff.c | 1 + commit.c | 1 + config.c | 1 + diff-lib.c | 1 + diff.c | 1 + fmt-merge-msg.c | 1 + list-objects-filter.c | 1 + log-tree.c | 1 + mailmap.c | 1 + merge-ort.c | 1 + merge-recursive.c | 1 + notes-merge.c | 1 + notes.c | 1 + object-name.c | 1 + object-name.h | 121 +++++++++++++++++++++++++++++++++++++++ parse-options-cb.c | 1 + range-diff.c | 1 + read-cache.c | 1 + rebase-interactive.c | 1 + ref-filter.c | 1 + refs.c | 1 + remote.c | 1 + reset.c | 1 + revision.c | 1 + sequencer.c | 1 + setup.c | 1 + strbuf.c | 1 + submodule-config.c | 1 + submodule.c | 1 + t/helper/test-fast-rebase.c | 1 + t/helper/test-match-trees.c | 1 + t/helper/test-oidmap.c | 1 + t/helper/test-reach.c | 1 + t/helper/test-submodule-config.c | 1 + tag.c | 1 + transport-helper.c | 1 + transport.c | 1 + tree.c | 1 + wt-status.c | 1 + 91 files changed, 210 insertions(+), 110 deletions(-) create mode 100644 object-name.h (limited to 'commit.c') diff --git a/add-patch.c b/add-patch.c index b381f14a7d..b01ba8fa81 100644 --- a/add-patch.c +++ b/add-patch.c @@ -4,6 +4,7 @@ #include "alloc.h" #include "environment.h" #include "gettext.h" +#include "object-name.h" #include "strbuf.h" #include "run-command.h" #include "strvec.h" diff --git a/apply.c b/apply.c index 9b7288bc92..7e40f53ec4 100644 --- a/apply.c +++ b/apply.c @@ -22,6 +22,7 @@ #include "xdiff-interface.h" #include "ll-merge.h" #include "lockfile.h" +#include "object-name.h" #include "parse-options.h" #include "quote.h" #include "rerere.h" diff --git a/archive.h b/archive.h index 7178e2a9a2..f96839ef38 100644 --- a/archive.h +++ b/archive.h @@ -2,6 +2,7 @@ #define ARCHIVE_H #include "cache.h" +#include "object-name.h" #include "pathspec.h" struct repository; diff --git a/bisect.c b/bisect.c index 0a5f2ed354..e708e8b6aa 100644 --- a/bisect.c +++ b/bisect.c @@ -17,6 +17,7 @@ #include "strvec.h" #include "commit-slab.h" #include "commit-reach.h" +#include "object-name.h" #include "object-store.h" #include "dir.h" diff --git a/branch.c b/branch.c index 3a087b8b4c..f29743b161 100644 --- a/branch.c +++ b/branch.c @@ -6,6 +6,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "refs.h" #include "refspec.h" #include "remote.h" diff --git a/builtin/am.c b/builtin/am.c index 8d876f3154..0d7ee28bdd 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -27,6 +27,7 @@ #include "diffcore.h" #include "unpack-trees.h" #include "branch.h" +#include "object-name.h" #include "sequencer.h" #include "revision.h" #include "merge-recursive.h" diff --git a/builtin/bisect.c b/builtin/bisect.c index 7dc175c657..4b2143d455 100644 --- a/builtin/bisect.c +++ b/builtin/bisect.c @@ -3,6 +3,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "parse-options.h" #include "bisect.h" #include "refs.h" diff --git a/builtin/blame.c b/builtin/blame.c index a8d2114adc..a628388c2c 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -28,6 +28,7 @@ #include "line-log.h" #include "dir.h" #include "progress.h" +#include "object-name.h" #include "object-store.h" #include "blame.h" #include "refs.h" diff --git a/builtin/branch.c b/builtin/branch.c index 5706eb0097..7c1c872708 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -13,6 +13,7 @@ #include "commit.h" #include "builtin.h" #include "gettext.h" +#include "object-name.h" #include "remote.h" #include "parse-options.h" #include "branch.h" diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 1e4b4798f4..60b7a55dfc 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -20,6 +20,7 @@ #include "tree-walk.h" #include "oid-array.h" #include "packfile.h" +#include "object-name.h" #include "object-store.h" #include "replace-object.h" #include "promisor-remote.h" diff --git a/builtin/check-attr.c b/builtin/check-attr.c index 1dbe9d6ca8..037bf1aaa2 100644 --- a/builtin/check-attr.c +++ b/builtin/check-attr.c @@ -5,6 +5,7 @@ #include "attr.h" #include "environment.h" #include "gettext.h" +#include "object-name.h" #include "quote.h" #include "setup.h" #include "parse-options.h" diff --git a/builtin/checkout.c b/builtin/checkout.c index 65988fd8a3..6f5d82ed3d 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -17,6 +17,7 @@ #include "lockfile.h" #include "mem-pool.h" #include "merge-recursive.h" +#include "object-name.h" #include "object-store.h" #include "parse-options.h" #include "refs.h" diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c index 15be167f87..d1d251c3de 100644 --- a/builtin/commit-tree.c +++ b/builtin/commit-tree.c @@ -7,6 +7,7 @@ #include "config.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "object-store.h" #include "repository.h" #include "commit.h" diff --git a/builtin/commit.c b/builtin/commit.c index b09017e04f..682f47c8d5 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -27,6 +27,7 @@ #include "log-tree.h" #include "strbuf.h" #include "utf8.h" +#include "object-name.h" #include "parse-options.h" #include "string-list.h" #include "rerere.h" diff --git a/builtin/describe.c b/builtin/describe.c index 0125d4ddba..d360b1d12a 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -11,6 +11,7 @@ #include "refs.h" #include "builtin.h" #include "exec-cmd.h" +#include "object-name.h" #include "parse-options.h" #include "revision.h" #include "diff.h" diff --git a/builtin/fast-import.c b/builtin/fast-import.c index 68b1a53987..31b8732128 100644 --- a/builtin/fast-import.c +++ b/builtin/fast-import.c @@ -19,6 +19,7 @@ #include "dir.h" #include "run-command.h" #include "packfile.h" +#include "object-name.h" #include "object-store.h" #include "mem-pool.h" #include "commit-reach.h" diff --git a/builtin/fetch.c b/builtin/fetch.c index e093662921..8a8ab6799e 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -10,6 +10,7 @@ #include "repository.h" #include "refs.h" #include "refspec.h" +#include "object-name.h" #include "object-store.h" #include "oidset.h" #include "oid-array.h" diff --git a/builtin/fsck.c b/builtin/fsck.c index 095b39d398..04bc71d148 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -19,6 +19,7 @@ #include "streaming.h" #include "decorate.h" #include "packfile.h" +#include "object-name.h" #include "object-store.h" #include "replace-object.h" #include "resolve-undo.h" diff --git a/builtin/grep.c b/builtin/grep.c index a1b68d90bd..f66e14389e 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -26,6 +26,7 @@ #include "setup.h" #include "submodule.h" #include "submodule-config.h" +#include "object-name.h" #include "object-store.h" #include "packfile.h" #include "write-or-die.h" diff --git a/builtin/log.c b/builtin/log.c index 094897df23..5cdc2276cc 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -12,6 +12,7 @@ #include "gettext.h" #include "hex.h" #include "refs.h" +#include "object-name.h" #include "object-store.h" #include "color.h" #include "commit.h" diff --git a/builtin/ls-files.c b/builtin/ls-files.c index 7f228353fe..ce083cb8ef 100644 --- a/builtin/ls-files.c +++ b/builtin/ls-files.c @@ -13,6 +13,7 @@ #include "dir.h" #include "builtin.h" #include "gettext.h" +#include "object-name.h" #include "strbuf.h" #include "tree.h" #include "cache-tree.h" diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c index f32e6be219..077977a461 100644 --- a/builtin/ls-tree.c +++ b/builtin/ls-tree.c @@ -7,6 +7,7 @@ #include "config.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "object-store.h" #include "blob.h" #include "tree.h" diff --git a/builtin/merge-base.c b/builtin/merge-base.c index 3f22273b40..854019a32d 100644 --- a/builtin/merge-base.c +++ b/builtin/merge-base.c @@ -7,6 +7,7 @@ #include "refs.h" #include "diff.h" #include "revision.h" +#include "object-name.h" #include "parse-options.h" #include "repository.h" #include "commit-reach.h" diff --git a/builtin/merge-recursive.c b/builtin/merge-recursive.c index 25f42f2be7..fa1035405c 100644 --- a/builtin/merge-recursive.c +++ b/builtin/merge-recursive.c @@ -5,6 +5,7 @@ #include "gettext.h" #include "tag.h" #include "merge-recursive.h" +#include "object-name.h" #include "xdiff-interface.h" static const char builtin_merge_recursive_usage[] = diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index 803e380856..6b9f006ec1 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -8,6 +8,7 @@ #include "commit.h" #include "commit-reach.h" #include "merge-ort.h" +#include "object-name.h" #include "object-store.h" #include "parse-options.h" #include "repository.h" diff --git a/builtin/merge.c b/builtin/merge.c index 225b706406..693f185d4d 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -15,6 +15,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "parse-options.h" #include "builtin.h" #include "lockfile.h" diff --git a/builtin/name-rev.c b/builtin/name-rev.c index 831d360a78..41fd56b9ba 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -8,6 +8,7 @@ #include "commit.h" #include "tag.h" #include "refs.h" +#include "object-name.h" #include "parse-options.h" #include "prio-queue.h" #include "hash-lookup.h" diff --git a/builtin/notes.c b/builtin/notes.c index 4ff44f1e3d..896140b905 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -13,6 +13,7 @@ #include "gettext.h" #include "hex.h" #include "notes.h" +#include "object-name.h" #include "object-store.h" #include "repository.h" #include "blob.h" diff --git a/builtin/prune.c b/builtin/prune.c index 5c0952f5c6..09891832fb 100644 --- a/builtin/prune.c +++ b/builtin/prune.c @@ -11,6 +11,7 @@ #include "progress.h" #include "prune-packed.h" #include "replace-object.h" +#include "object-name.h" #include "object-store.h" #include "shallow.h" diff --git a/builtin/pull.c b/builtin/pull.c index 636ce12c94..967368ebc6 100644 --- a/builtin/pull.c +++ b/builtin/pull.c @@ -12,6 +12,7 @@ #include "builtin.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "parse-options.h" #include "exec-cmd.h" #include "run-command.h" diff --git a/builtin/range-diff.c b/builtin/range-diff.c index b72af527f0..04339a92ea 100644 --- a/builtin/range-diff.c +++ b/builtin/range-diff.c @@ -1,6 +1,7 @@ #include "cache.h" #include "builtin.h" #include "gettext.h" +#include "object-name.h" #include "parse-options.h" #include "range-diff.h" #include "config.h" diff --git a/builtin/read-tree.c b/builtin/read-tree.c index 600d4f748f..d61cbad96d 100644 --- a/builtin/read-tree.c +++ b/builtin/read-tree.c @@ -11,6 +11,7 @@ #include "hex.h" #include "lockfile.h" #include "object.h" +#include "object-name.h" #include "tree.h" #include "tree-walk.h" #include "cache-tree.h" diff --git a/builtin/rebase.c b/builtin/rebase.c index fb859f93a3..ff5dd77608 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -21,6 +21,7 @@ #include "cache-tree.h" #include "unpack-trees.h" #include "lockfile.h" +#include "object-name.h" #include "parse-options.h" #include "commit.h" #include "diff.h" diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index aa5b6fe861..7d921170f1 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -29,6 +29,7 @@ #include "tmp-objdir.h" #include "oidset.h" #include "packfile.h" +#include "object-name.h" #include "object-store.h" #include "protocol.h" #include "commit-reach.h" diff --git a/builtin/replace.c b/builtin/replace.c index d2adc8ab61..134f738a45 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -17,6 +17,7 @@ #include "refs.h" #include "parse-options.h" #include "run-command.h" +#include "object-name.h" #include "object-store.h" #include "replace-object.h" #include "repository.h" diff --git a/builtin/reset.c b/builtin/reset.c index d8c52cc6ed..f99f32d580 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -24,6 +24,7 @@ #include "diffcore.h" #include "tree.h" #include "branch.h" +#include "object-name.h" #include "parse-options.h" #include "unpack-trees.h" #include "cache-tree.h" diff --git a/builtin/rev-list.c b/builtin/rev-list.c index a3dbbb6338..c17f0282ae 100644 --- a/builtin/rev-list.c +++ b/builtin/rev-list.c @@ -10,6 +10,7 @@ #include "list-objects-filter.h" #include "list-objects-filter-options.h" #include "object.h" +#include "object-name.h" #include "object-store.h" #include "pack.h" #include "pack-bitmap.h" diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index 1af2089f9b..852e49e340 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -15,6 +15,7 @@ #include "refs.h" #include "quote.h" #include "builtin.h" +#include "object-name.h" #include "parse-options.h" #include "diff.h" #include "revision.h" diff --git a/builtin/rm.c b/builtin/rm.c index 6be9281742..d36072252e 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -13,6 +13,7 @@ #include "cache-tree.h" #include "gettext.h" #include "tree-walk.h" +#include "object-name.h" #include "parse-options.h" #include "string-list.h" #include "setup.h" diff --git a/builtin/show-branch.c b/builtin/show-branch.c index 463a8d11c3..20030b75e3 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -8,6 +8,7 @@ #include "builtin.h" #include "color.h" #include "strvec.h" +#include "object-name.h" #include "parse-options.h" #include "dir.h" #include "commit-slab.h" diff --git a/builtin/show-ref.c b/builtin/show-ref.c index 138d30a005..a2243b4219 100644 --- a/builtin/show-ref.c +++ b/builtin/show-ref.c @@ -4,6 +4,7 @@ #include "gettext.h" #include "hex.h" #include "refs.h" +#include "object-name.h" #include "object-store.h" #include "object.h" #include "tag.h" diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c index 090bf33510..34b9d92fb1 100644 --- a/builtin/sparse-checkout.c +++ b/builtin/sparse-checkout.c @@ -4,6 +4,7 @@ #include "dir.h" #include "environment.h" #include "gettext.h" +#include "object-name.h" #include "parse-options.h" #include "pathspec.h" #include "repository.h" diff --git a/builtin/stash.c b/builtin/stash.c index 14194b13bd..6442b5e20a 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -5,6 +5,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "parse-options.h" #include "refs.h" #include "lockfile.h" diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 8337703715..1f087d7bed 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -24,6 +24,7 @@ #include "revision.h" #include "diffcore.h" #include "diff.h" +#include "object-name.h" #include "object-store.h" #include "advice.h" #include "branch.h" diff --git a/builtin/tag.c b/builtin/tag.c index 3e801f54a0..88a2590230 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -14,6 +14,7 @@ #include "gettext.h" #include "hex.h" #include "refs.h" +#include "object-name.h" #include "object-store.h" #include "tag.h" #include "run-command.h" diff --git a/builtin/unpack-file.c b/builtin/unpack-file.c index 314761b0b4..21082ceb60 100644 --- a/builtin/unpack-file.c +++ b/builtin/unpack-file.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "config.h" #include "hex.h" +#include "object-name.h" #include "object-store.h" #include "wrapper.h" diff --git a/builtin/update-ref.c b/builtin/update-ref.c index 3ffd75b3e7..6ca85420c3 100644 --- a/builtin/update-ref.c +++ b/builtin/update-ref.c @@ -3,6 +3,7 @@ #include "gettext.h" #include "refs.h" #include "builtin.h" +#include "object-name.h" #include "parse-options.h" #include "quote.h" #include "strvec.h" diff --git a/builtin/verify-commit.c b/builtin/verify-commit.c index 4d10aa98b1..5d99b82a64 100644 --- a/builtin/verify-commit.c +++ b/builtin/verify-commit.c @@ -9,6 +9,7 @@ #include "config.h" #include "builtin.h" #include "gettext.h" +#include "object-name.h" #include "object-store.h" #include "repository.h" #include "commit.h" diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c index 28d0da6845..c6019a0ad8 100644 --- a/builtin/verify-tag.c +++ b/builtin/verify-tag.c @@ -11,6 +11,7 @@ #include "gettext.h" #include "tag.h" #include "run-command.h" +#include "object-name.h" #include "parse-options.h" #include "gpg-interface.h" #include "ref-filter.h" diff --git a/builtin/worktree.c b/builtin/worktree.c index 944dd40f94..69132bba31 100644 --- a/builtin/worktree.c +++ b/builtin/worktree.c @@ -7,6 +7,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "parse-options.h" #include "strvec.h" #include "branch.h" diff --git a/cache.h b/cache.h index 66705dd469..21db5da39a 100644 --- a/cache.h +++ b/cache.h @@ -687,24 +687,6 @@ extern int quote_path_fully; #define DATA_CHANGED 0x0020 #define TYPE_CHANGED 0x0040 -/* - * Return an abbreviated sha1 unique within this repository's object database. - * The result will be at least `len` characters long, and will be NUL - * terminated. - * - * The non-`_r` version returns a static buffer which remains valid until 4 - * more calls to repo_find_unique_abbrev are made. - * - * The `_r` variant writes to a buffer supplied by the caller, which must be at - * least `GIT_MAX_HEXSZ + 1` bytes. The return value is the number of bytes - * written (excluding the NUL terminator). - * - * Note that while this version avoids the static buffer, it is not fully - * reentrant, as it calls into other non-reentrant git code. - */ -const char *repo_find_unique_abbrev(struct repository *r, const struct object_id *oid, int len); -int repo_find_unique_abbrev_r(struct repository *r, char *hex, const struct object_id *oid, int len); - /* * Create the directory containing the named path, using care to be * somewhat safe against races. Return one of the scld_error values to @@ -806,94 +788,6 @@ int finalize_object_file(const char *tmpfile, const char *filename); /* Helper to check and "touch" a file */ int check_and_freshen_file(const char *fn, int freshen); -/* Convert to/from hex/sha1 representation */ -#define MINIMUM_ABBREV minimum_abbrev -#define DEFAULT_ABBREV default_abbrev - -/* used when the code does not know or care what the default abbrev is */ -#define FALLBACK_DEFAULT_ABBREV 7 - -struct object_context { - unsigned short mode; - /* - * symlink_path is only used by get_tree_entry_follow_symlinks, - * and only for symlinks that point outside the repository. - */ - struct strbuf symlink_path; - /* - * If GET_OID_RECORD_PATH is set, this will record path (if any) - * found when resolving the name. The caller is responsible for - * releasing the memory. - */ - char *path; -}; - -int repo_get_oid(struct repository *r, const char *str, struct object_id *oid); -__attribute__((format (printf, 2, 3))) -int get_oidf(struct object_id *oid, const char *fmt, ...); -int repo_get_oid_commit(struct repository *r, const char *str, struct object_id *oid); -int repo_get_oid_committish(struct repository *r, const char *str, struct object_id *oid); -int repo_get_oid_tree(struct repository *r, const char *str, struct object_id *oid); -int repo_get_oid_treeish(struct repository *r, const char *str, struct object_id *oid); -int repo_get_oid_blob(struct repository *r, const char *str, struct object_id *oid); -int repo_get_oid_mb(struct repository *r, const char *str, struct object_id *oid); -void maybe_die_on_misspelt_object_name(struct repository *repo, - const char *name, - const char *prefix); -enum get_oid_result get_oid_with_context(struct repository *repo, const char *str, - unsigned flags, struct object_id *oid, - struct object_context *oc); - -typedef int each_abbrev_fn(const struct object_id *oid, void *); -int repo_for_each_abbrev(struct repository *r, const char *prefix, each_abbrev_fn, void *); - -int set_disambiguate_hint_config(const char *var, const char *value); - -/* - * This reads short-hand syntax that not only evaluates to a commit - * object name, but also can act as if the end user spelled the name - * of the branch from the command line. - * - * - "@{-N}" finds the name of the Nth previous branch we were on, and - * places the name of the branch in the given buf and returns the - * number of characters parsed if successful. - * - * - "@{upstream}" finds the name of the other ref that - * is configured to merge with (missing defaults - * to the current branch), and places the name of the branch in the - * given buf and returns the number of characters parsed if - * successful. - * - * If the input is not of the accepted format, it returns a negative - * number to signal an error. - * - * If the input was ok but there are not N branch switches in the - * reflog, it returns 0. - */ -#define INTERPRET_BRANCH_LOCAL (1<<0) -#define INTERPRET_BRANCH_REMOTE (1<<1) -#define INTERPRET_BRANCH_HEAD (1<<2) -struct interpret_branch_name_options { - /* - * If "allowed" is non-zero, it is a treated as a bitfield of allowable - * expansions: local branches ("refs/heads/"), remote branches - * ("refs/remotes/"), or "HEAD". If no "allowed" bits are set, any expansion is - * allowed, even ones to refs outside of those namespaces. - */ - unsigned allowed; - - /* - * If ^{upstream} or ^{push} (or equivalent) is requested, and the - * branch in question does not have such a reference, return -1 instead - * of die()-ing. - */ - unsigned nonfatal_dangling_mark : 1; -}; -int repo_interpret_branch_name(struct repository *r, - const char *str, int len, - struct strbuf *buf, - const struct interpret_branch_name_options *options); - int base_name_compare(const char *name1, size_t len1, int mode1, const char *name2, size_t len2, int mode2); int df_name_compare(const char *name1, size_t len1, int mode1, @@ -907,10 +801,6 @@ void *read_object_with_reference(struct repository *r, unsigned long *size, struct object_id *oid_ret); -struct object *repo_peel_to_type(struct repository *r, - const char *name, int namelen, - struct object *o, enum object_type); - const char *git_editor(void); const char *git_sequence_editor(void); const char *git_pager(int stdout_is_tty); diff --git a/checkout.c b/checkout.c index 1247b88224..9235073fc0 100644 --- a/checkout.c +++ b/checkout.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "object-name.h" #include "remote.h" #include "refspec.h" #include "checkout.h" diff --git a/combine-diff.c b/combine-diff.c index 6586e4508d..cd5f39f22f 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -7,6 +7,7 @@ #include "diffcore.h" #include "environment.h" #include "hex.h" +#include "object-name.h" #include "quote.h" #include "xdiff-interface.h" #include "xdiff/xmacros.h" diff --git a/commit.c b/commit.c index 6d844da9a6..bad31c423a 100644 --- a/commit.c +++ b/commit.c @@ -6,6 +6,7 @@ #include "gettext.h" #include "hex.h" #include "repository.h" +#include "object-name.h" #include "object-store.h" #include "pkt-line.h" #include "utf8.h" diff --git a/config.c b/config.c index 9e74b5aec7..aac439530e 100644 --- a/config.c +++ b/config.c @@ -23,6 +23,7 @@ #include "quote.h" #include "hashmap.h" #include "string-list.h" +#include "object-name.h" #include "object-store.h" #include "utf8.h" #include "dir.h" diff --git a/diff-lib.c b/diff-lib.c index 8b5cca96ac..d292405a26 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -8,6 +8,7 @@ #include "diffcore.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "revision.h" #include "cache-tree.h" #include "unpack-trees.h" diff --git a/diff.c b/diff.c index 89cd0b17da..9e6ad94bc6 100644 --- a/diff.c +++ b/diff.c @@ -35,6 +35,7 @@ #include "help.h" #include "promisor-remote.h" #include "dir.h" +#include "object-name.h" #include "setup.h" #include "strmap.h" #include "wrapper.h" diff --git a/fmt-merge-msg.c b/fmt-merge-msg.c index 1886c92ddb..21019c932b 100644 --- a/fmt-merge-msg.c +++ b/fmt-merge-msg.c @@ -3,6 +3,7 @@ #include "config.h" #include "environment.h" #include "refs.h" +#include "object-name.h" #include "object-store.h" #include "diff.h" #include "diff-merges.h" diff --git a/list-objects-filter.c b/list-objects-filter.c index 298ca08711..8b2a45e507 100644 --- a/list-objects-filter.c +++ b/list-objects-filter.c @@ -15,6 +15,7 @@ #include "list-objects-filter-options.h" #include "oidmap.h" #include "oidset.h" +#include "object-name.h" #include "object-store.h" /* Remember to update object flag allocation in object.h */ diff --git a/log-tree.c b/log-tree.c index 627c711f70..f0e885635e 100644 --- a/log-tree.c +++ b/log-tree.c @@ -4,6 +4,7 @@ #include "diff.h" #include "environment.h" #include "hex.h" +#include "object-name.h" #include "object-store.h" #include "repository.h" #include "tmp-objdir.h" diff --git a/mailmap.c b/mailmap.c index 14f2c0f62a..d62d7bf0e7 100644 --- a/mailmap.c +++ b/mailmap.c @@ -2,6 +2,7 @@ #include "environment.h" #include "string-list.h" #include "mailmap.h" +#include "object-name.h" #include "object-store.h" #include "setup.h" diff --git a/merge-ort.c b/merge-ort.c index 1008684fbb..2c6a9ed9a4 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -32,6 +32,7 @@ #include "entry.h" #include "ll-merge.h" #include "mem-pool.h" +#include "object-name.h" #include "object-store.h" #include "oid-array.h" #include "promisor-remote.h" diff --git a/merge-recursive.c b/merge-recursive.c index ed5534eb57..748a6799a3 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -22,6 +22,7 @@ #include "hex.h" #include "ll-merge.h" #include "lockfile.h" +#include "object-name.h" #include "object-store.h" #include "repository.h" #include "revision.h" diff --git a/notes-merge.c b/notes-merge.c index 0258f87d21..b496b77d9d 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -3,6 +3,7 @@ #include "commit.h" #include "gettext.h" #include "refs.h" +#include "object-name.h" #include "object-store.h" #include "repository.h" #include "diff.h" diff --git a/notes.c b/notes.c index 45fb7f22d1..c07bcbe348 100644 --- a/notes.c +++ b/notes.c @@ -3,6 +3,7 @@ #include "environment.h" #include "hex.h" #include "notes.h" +#include "object-name.h" #include "object-store.h" #include "blob.h" #include "tree.h" diff --git a/object-name.c b/object-name.c index ff647d6c7b..3cd5b32729 100644 --- a/object-name.c +++ b/object-name.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "object-name.h" #include "advice.h" #include "config.h" #include "environment.h" diff --git a/object-name.h b/object-name.h new file mode 100644 index 0000000000..1d63698f42 --- /dev/null +++ b/object-name.h @@ -0,0 +1,121 @@ +#ifndef OBJECT_NAME_H +#define OBJECT_NAME_H + +#include "object.h" +#include "strbuf.h" + +struct object_id; +struct repository; + +struct object_context { + unsigned short mode; + /* + * symlink_path is only used by get_tree_entry_follow_symlinks, + * and only for symlinks that point outside the repository. + */ + struct strbuf symlink_path; + /* + * If GET_OID_RECORD_PATH is set, this will record path (if any) + * found when resolving the name. The caller is responsible for + * releasing the memory. + */ + char *path; +}; + +/* + * Return an abbreviated sha1 unique within this repository's object database. + * The result will be at least `len` characters long, and will be NUL + * terminated. + * + * The non-`_r` version returns a static buffer which remains valid until 4 + * more calls to repo_find_unique_abbrev are made. + * + * The `_r` variant writes to a buffer supplied by the caller, which must be at + * least `GIT_MAX_HEXSZ + 1` bytes. The return value is the number of bytes + * written (excluding the NUL terminator). + * + * Note that while this version avoids the static buffer, it is not fully + * reentrant, as it calls into other non-reentrant git code. + */ +const char *repo_find_unique_abbrev(struct repository *r, const struct object_id *oid, int len); +int repo_find_unique_abbrev_r(struct repository *r, char *hex, const struct object_id *oid, int len); + +int repo_get_oid(struct repository *r, const char *str, struct object_id *oid); +__attribute__((format (printf, 2, 3))) +int get_oidf(struct object_id *oid, const char *fmt, ...); +int repo_get_oid_commit(struct repository *r, const char *str, struct object_id *oid); +int repo_get_oid_committish(struct repository *r, const char *str, struct object_id *oid); +int repo_get_oid_tree(struct repository *r, const char *str, struct object_id *oid); +int repo_get_oid_treeish(struct repository *r, const char *str, struct object_id *oid); +int repo_get_oid_blob(struct repository *r, const char *str, struct object_id *oid); +int repo_get_oid_mb(struct repository *r, const char *str, struct object_id *oid); +void maybe_die_on_misspelt_object_name(struct repository *repo, + const char *name, + const char *prefix); +enum get_oid_result get_oid_with_context(struct repository *repo, const char *str, + unsigned flags, struct object_id *oid, + struct object_context *oc); + + +typedef int each_abbrev_fn(const struct object_id *oid, void *); +int repo_for_each_abbrev(struct repository *r, const char *prefix, each_abbrev_fn, void *); + +int set_disambiguate_hint_config(const char *var, const char *value); + +/* + * This reads short-hand syntax that not only evaluates to a commit + * object name, but also can act as if the end user spelled the name + * of the branch from the command line. + * + * - "@{-N}" finds the name of the Nth previous branch we were on, and + * places the name of the branch in the given buf and returns the + * number of characters parsed if successful. + * + * - "@{upstream}" finds the name of the other ref that + * is configured to merge with (missing defaults + * to the current branch), and places the name of the branch in the + * given buf and returns the number of characters parsed if + * successful. + * + * If the input is not of the accepted format, it returns a negative + * number to signal an error. + * + * If the input was ok but there are not N branch switches in the + * reflog, it returns 0. + */ +#define INTERPRET_BRANCH_LOCAL (1<<0) +#define INTERPRET_BRANCH_REMOTE (1<<1) +#define INTERPRET_BRANCH_HEAD (1<<2) +struct interpret_branch_name_options { + /* + * If "allowed" is non-zero, it is a treated as a bitfield of allowable + * expansions: local branches ("refs/heads/"), remote branches + * ("refs/remotes/"), or "HEAD". If no "allowed" bits are set, any expansion is + * allowed, even ones to refs outside of those namespaces. + */ + unsigned allowed; + + /* + * If ^{upstream} or ^{push} (or equivalent) is requested, and the + * branch in question does not have such a reference, return -1 instead + * of die()-ing. + */ + unsigned nonfatal_dangling_mark : 1; +}; +int repo_interpret_branch_name(struct repository *r, + const char *str, int len, + struct strbuf *buf, + const struct interpret_branch_name_options *options); + +struct object *repo_peel_to_type(struct repository *r, + const char *name, int namelen, + struct object *o, enum object_type); + +/* Convert to/from hex/sha1 representation */ +#define MINIMUM_ABBREV minimum_abbrev +#define DEFAULT_ABBREV default_abbrev + +/* used when the code does not know or care what the default abbrev is */ +#define FALLBACK_DEFAULT_ABBREV 7 + +#endif /* OBJECT_NAME_H */ diff --git a/parse-options-cb.c b/parse-options-cb.c index 666c212979..b4df4bcebe 100644 --- a/parse-options-cb.c +++ b/parse-options-cb.c @@ -6,6 +6,7 @@ #include "color.h" #include "environment.h" #include "gettext.h" +#include "object-name.h" #include "string-list.h" #include "strvec.h" #include "oid-array.h" diff --git a/range-diff.c b/range-diff.c index d1ed3b8ee5..a2994331a1 100644 --- a/range-diff.c +++ b/range-diff.c @@ -2,6 +2,7 @@ #include "environment.h" #include "gettext.h" #include "range-diff.h" +#include "object-name.h" #include "string-list.h" #include "run-command.h" #include "strvec.h" diff --git a/read-cache.c b/read-cache.c index 4ada6d62b9..cbbfc030da 100644 --- a/read-cache.c +++ b/read-cache.c @@ -22,6 +22,7 @@ #include "environment.h" #include "gettext.h" #include "mem-pool.h" +#include "object-name.h" #include "resolve-undo.h" #include "run-command.h" #include "strbuf.h" diff --git a/rebase-interactive.c b/rebase-interactive.c index 79ed61b9fa..48467a7bc4 100644 --- a/rebase-interactive.c +++ b/rebase-interactive.c @@ -8,6 +8,7 @@ #include "commit-slab.h" #include "config.h" #include "dir.h" +#include "object-name.h" #include "wrapper.h" static const char edit_todo_list_advice[] = diff --git a/ref-filter.c b/ref-filter.c index 1c6174c8ae..57a5884aec 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -6,6 +6,7 @@ #include "parse-options.h" #include "refs.h" #include "wildmatch.h" +#include "object-name.h" #include "object-store.h" #include "oid-array.h" #include "repository.h" diff --git a/refs.c b/refs.c index cfced6f174..979ed3fbed 100644 --- a/refs.c +++ b/refs.c @@ -16,6 +16,7 @@ #include "refs/refs-internal.h" #include "run-command.h" #include "hook.h" +#include "object-name.h" #include "object-store.h" #include "object.h" #include "tag.h" diff --git a/remote.c b/remote.c index 6599d52de2..3afedce593 100644 --- a/remote.c +++ b/remote.c @@ -9,6 +9,7 @@ #include "urlmatch.h" #include "refs.h" #include "refspec.h" +#include "object-name.h" #include "object-store.h" #include "commit.h" #include "diff.h" diff --git a/reset.c b/reset.c index ab300923e0..48da0adf85 100644 --- a/reset.c +++ b/reset.c @@ -3,6 +3,7 @@ #include "gettext.h" #include "hex.h" #include "lockfile.h" +#include "object-name.h" #include "refs.h" #include "reset.h" #include "run-command.h" diff --git a/revision.c b/revision.c index 7c34c93885..7438b50e26 100644 --- a/revision.c +++ b/revision.c @@ -4,6 +4,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "object-store.h" #include "tag.h" #include "blob.h" diff --git a/sequencer.c b/sequencer.c index eaba379e3a..22b287be98 100644 --- a/sequencer.c +++ b/sequencer.c @@ -8,6 +8,7 @@ #include "hex.h" #include "lockfile.h" #include "dir.h" +#include "object-name.h" #include "object-store.h" #include "object.h" #include "commit.h" diff --git a/setup.c b/setup.c index 3bb7a9fff6..8a297b3cb5 100644 --- a/setup.c +++ b/setup.c @@ -2,6 +2,7 @@ #include "abspath.h" #include "environment.h" #include "gettext.h" +#include "object-name.h" #include "repository.h" #include "config.h" #include "dir.h" diff --git a/strbuf.c b/strbuf.c index 70a83e7980..1b93d9d3c4 100644 --- a/strbuf.c +++ b/strbuf.c @@ -4,6 +4,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "refs.h" #include "string-list.h" #include "utf8.h" diff --git a/submodule-config.c b/submodule-config.c index ecf0fcf007..252b90aa43 100644 --- a/submodule-config.c +++ b/submodule-config.c @@ -9,6 +9,7 @@ #include "submodule-config.h" #include "submodule.h" #include "strbuf.h" +#include "object-name.h" #include "object-store.h" #include "parse-options.h" #include "tree-walk.h" diff --git a/submodule.c b/submodule.c index 58c9d5e567..4f403b9eef 100644 --- a/submodule.c +++ b/submodule.c @@ -24,6 +24,7 @@ #include "remote.h" #include "worktree.h" #include "parse-options.h" +#include "object-name.h" #include "object-store.h" #include "commit-reach.h" #include "setup.h" diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c index fd48e0ee2c..d1d63feaa9 100644 --- a/t/helper/test-fast-rebase.c +++ b/t/helper/test-fast-rebase.c @@ -20,6 +20,7 @@ #include "hex.h" #include "lockfile.h" #include "merge-ort.h" +#include "object-name.h" #include "refs.h" #include "revision.h" #include "sequencer.h" diff --git a/t/helper/test-match-trees.c b/t/helper/test-match-trees.c index 7066f3c71d..3808e1ac38 100644 --- a/t/helper/test-match-trees.c +++ b/t/helper/test-match-trees.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "hex.h" +#include "object-name.h" #include "setup.h" #include "tree.h" diff --git a/t/helper/test-oidmap.c b/t/helper/test-oidmap.c index e2eb25ecde..bf4fcfe6ef 100644 --- a/t/helper/test-oidmap.c +++ b/t/helper/test-oidmap.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "hex.h" +#include "object-name.h" #include "oidmap.h" #include "setup.h" #include "strbuf.h" diff --git a/t/helper/test-reach.c b/t/helper/test-reach.c index b0deaa106a..d4fa33ae75 100644 --- a/t/helper/test-reach.c +++ b/t/helper/test-reach.c @@ -6,6 +6,7 @@ #include "config.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "parse-options.h" #include "ref-filter.h" #include "setup.h" diff --git a/t/helper/test-submodule-config.c b/t/helper/test-submodule-config.c index 66063b58de..4758c8654e 100644 --- a/t/helper/test-submodule-config.c +++ b/t/helper/test-submodule-config.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "config.h" +#include "object-name.h" #include "setup.h" #include "submodule-config.h" #include "submodule.h" diff --git a/tag.c b/tag.c index 01ed67d6fa..b9fc2fc992 100644 --- a/tag.c +++ b/tag.c @@ -1,6 +1,7 @@ #include "cache.h" #include "environment.h" #include "tag.h" +#include "object-name.h" #include "object-store.h" #include "commit.h" #include "tree.h" diff --git a/transport-helper.c b/transport-helper.c index 76d146ee88..ca8bec04bb 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -7,6 +7,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "revision.h" #include "remote.h" #include "string-list.h" diff --git a/transport.c b/transport.c index 82bf2496ba..7374cfd1fa 100644 --- a/transport.c +++ b/transport.c @@ -26,6 +26,7 @@ #include "trace2.h" #include "transport-internal.h" #include "protocol.h" +#include "object-name.h" #include "object-store.h" #include "color.h" #include "bundle-uri.h" diff --git a/tree.c b/tree.c index 2b78708766..e9d51ce2e0 100644 --- a/tree.c +++ b/tree.c @@ -2,6 +2,7 @@ #include "cache-tree.h" #include "hex.h" #include "tree.h" +#include "object-name.h" #include "object-store.h" #include "blob.h" #include "commit.h" diff --git a/wt-status.c b/wt-status.c index 47f223c0f8..97b9c1c035 100644 --- a/wt-status.c +++ b/wt-status.c @@ -8,6 +8,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "object-name.h" #include "revision.h" #include "diffcore.h" #include "quote.h" -- cgit 1.2.3-korg From d812c3b6a0b41d48ce68f971d9cec50676048863 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Tue, 11 Apr 2023 00:41:56 -0700 Subject: treewide: remove cache.h inclusion due to object.h changes Signed-off-by: Elijah Newren Acked-by: Calvin Wan Signed-off-by: Junio C Hamano --- bisect.c | 2 +- bundle.c | 2 +- commit.c | 2 +- delta-islands.c | 2 +- diff-no-index.c | 2 +- fsck.c | 2 +- http-push.c | 2 +- list-objects-filter.c | 2 +- list-objects.c | 2 +- log-tree.c | 2 +- pack-bitmap-write.c | 2 +- parse-options-cb.c | 1 - rebase-interactive.c | 2 +- submodule-config.c | 2 +- tag.c | 2 +- transport.c | 2 +- walker.c | 2 +- 17 files changed, 16 insertions(+), 17 deletions(-) (limited to 'commit.c') diff --git a/bisect.c b/bisect.c index e708e8b6aa..8d5f8e5885 100644 --- a/bisect.c +++ b/bisect.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "commit.h" #include "diff.h" diff --git a/bundle.c b/bundle.c index 6471489975..a5505368de 100644 --- a/bundle.c +++ b/bundle.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "lockfile.h" #include "bundle.h" #include "environment.h" diff --git a/commit.c b/commit.c index bad31c423a..878b4473e4 100644 --- a/commit.c +++ b/commit.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "tag.h" #include "commit.h" #include "commit-graph.h" diff --git a/delta-islands.c b/delta-islands.c index 40f2ccfb55..c824a5f6a4 100644 --- a/delta-islands.c +++ b/delta-islands.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "attr.h" #include "object.h" diff --git a/diff-no-index.c b/diff-no-index.c index 934a24bee5..4296940f90 100644 --- a/diff-no-index.c +++ b/diff-no-index.c @@ -4,7 +4,7 @@ * Copyright (c) 2008 by Junio C Hamano */ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "color.h" #include "commit.h" diff --git a/fsck.c b/fsck.c index 8ef1b02234..adbe8bf59e 100644 --- a/fsck.c +++ b/fsck.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "hex.h" #include "object-store.h" diff --git a/http-push.c b/http-push.c index a8af6c0f69..637a4e91f7 100644 --- a/http-push.c +++ b/http-push.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "environment.h" #include "hex.h" #include "repository.h" diff --git a/list-objects-filter.c b/list-objects-filter.c index 8b2a45e507..5d270ce598 100644 --- a/list-objects-filter.c +++ b/list-objects-filter.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "dir.h" #include "gettext.h" diff --git a/list-objects.c b/list-objects.c index df18d10306..eecca721ac 100644 --- a/list-objects.c +++ b/list-objects.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "tag.h" #include "commit.h" #include "gettext.h" diff --git a/log-tree.c b/log-tree.c index f0e885635e..b5cf3d8439 100644 --- a/log-tree.c +++ b/log-tree.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "commit-reach.h" #include "config.h" #include "diff.h" diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c index 7f5f489beb..faf67c94d3 100644 --- a/pack-bitmap-write.c +++ b/pack-bitmap-write.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/parse-options-cb.c b/parse-options-cb.c index b4df4bcebe..26a4c7d08a 100644 --- a/parse-options-cb.c +++ b/parse-options-cb.c @@ -1,7 +1,6 @@ #include "git-compat-util.h" #include "parse-options.h" #include "branch.h" -#include "cache.h" #include "commit.h" #include "color.h" #include "environment.h" diff --git a/rebase-interactive.c b/rebase-interactive.c index 48467a7bc4..6ff12d7be2 100644 --- a/rebase-interactive.c +++ b/rebase-interactive.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "commit.h" #include "environment.h" #include "gettext.h" diff --git a/submodule-config.c b/submodule-config.c index 252b90aa43..7fc0812b64 100644 --- a/submodule-config.c +++ b/submodule-config.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "dir.h" #include "environment.h" diff --git a/tag.c b/tag.c index b9fc2fc992..96dbd5b2d5 100644 --- a/tag.c +++ b/tag.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "environment.h" #include "tag.h" #include "object-name.h" diff --git a/transport.c b/transport.c index 7374cfd1fa..8d3ad8022a 100644 --- a/transport.c +++ b/transport.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "advice.h" #include "alloc.h" #include "config.h" diff --git a/walker.c b/walker.c index cfbd257fdb..24ff7dfdc2 100644 --- a/walker.c +++ b/walker.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "gettext.h" #include "hex.h" #include "walker.h" -- cgit 1.2.3-korg From d4a4f9291d63b48b368f79bce3151bee9ca28009 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Sat, 22 Apr 2023 20:17:26 +0000 Subject: commit.h: reduce unnecessary includes Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- add-interactive.c | 1 + archive.c | 2 ++ bloom.c | 1 + builtin/diff-tree.c | 1 + builtin/diff.c | 1 + builtin/gc.c | 1 + builtin/log.c | 1 + builtin/merge-tree.c | 1 + combine-diff.c | 1 + commit-graph.c | 1 + commit.c | 1 + commit.h | 11 ++++------- dir.c | 1 + fetch-pack.c | 1 + fsck.c | 1 + gpg-interface.c | 1 + grep.c | 1 + http-push.c | 1 + log-tree.c | 1 + merge-ort-wrappers.c | 1 + merge.c | 1 + notes-cache.c | 1 + notes-utils.c | 1 + object-name.c | 1 + pack-bitmap-write.c | 1 + parse-options-cb.c | 1 + parse-options.c | 1 + read-cache.c | 1 + ref-filter.c | 1 + reflog.c | 1 + refs/debug.c | 1 + refspec.c | 1 + revision.h | 1 + send-pack.c | 1 + wt-status.c | 1 + 35 files changed, 39 insertions(+), 7 deletions(-) (limited to 'commit.c') diff --git a/add-interactive.c b/add-interactive.c index 757a9929d4..de877ca052 100644 --- a/add-interactive.c +++ b/add-interactive.c @@ -12,6 +12,7 @@ #include "dir.h" #include "run-command.h" #include "prompt.h" +#include "tree.h" static void init_color(struct repository *r, struct add_i_state *s, const char *section_and_slot, char *dst, diff --git a/archive.c b/archive.c index ab8966d73a..6226e16b25 100644 --- a/archive.c +++ b/archive.c @@ -6,10 +6,12 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "pretty.h" #include "setup.h" #include "refs.h" #include "object-store.h" #include "commit.h" +#include "tree.h" #include "tree-walk.h" #include "attr.h" #include "archive.h" diff --git a/bloom.c b/bloom.c index d0730525da..aef6b5fea2 100644 --- a/bloom.c +++ b/bloom.c @@ -6,6 +6,7 @@ #include "hashmap.h" #include "commit-graph.h" #include "commit.h" +#include "commit-slab.h" define_commit_slab(bloom_filter_slab, struct bloom_filter); diff --git a/builtin/diff-tree.c b/builtin/diff-tree.c index 385c2d0230..0b02c62b85 100644 --- a/builtin/diff-tree.c +++ b/builtin/diff-tree.c @@ -9,6 +9,7 @@ #include "builtin.h" #include "submodule.h" #include "repository.h" +#include "tree.h" static struct rev_info log_tree_opt; diff --git a/builtin/diff.c b/builtin/diff.c index 8f386535d6..457dee1445 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -22,6 +22,7 @@ #include "setup.h" #include "submodule.h" #include "oid-array.h" +#include "tree.h" #define DIFF_NO_INDEX_EXPLICIT 1 #define DIFF_NO_INDEX_IMPLICIT 2 diff --git a/builtin/gc.c b/builtin/gc.c index b95154fba1..d11712b144 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -12,6 +12,7 @@ #include "builtin.h" #include "abspath.h" +#include "date.h" #include "environment.h" #include "hex.h" #include "repository.h" diff --git a/builtin/log.c b/builtin/log.c index 95de51921f..137b84b31e 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -44,6 +44,7 @@ #include "commit-reach.h" #include "range-diff.h" #include "tmp-objdir.h" +#include "tree.h" #include "write-or-die.h" #define MAIL_DEFAULT_WRAP 72 diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index 6b9f006ec1..aa8040c2a6 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -16,6 +16,7 @@ #include "exec-cmd.h" #include "merge-blobs.h" #include "quote.h" +#include "tree.h" static int line_termination = '\n'; diff --git a/combine-diff.c b/combine-diff.c index f8d6196577..1e3cd7fb17 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -13,6 +13,7 @@ #include "xdiff/xmacros.h" #include "log-tree.h" #include "refs.h" +#include "tree.h" #include "userdiff.h" #include "oid-array.h" #include "revision.h" diff --git a/commit-graph.c b/commit-graph.c index 0c4f226644..6f612f368b 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -23,6 +23,7 @@ #include "shallow.h" #include "json-writer.h" #include "trace2.h" +#include "tree.h" #include "chunk-format.h" #include "wrapper.h" diff --git a/commit.c b/commit.c index 878b4473e4..10676165a1 100644 --- a/commit.c +++ b/commit.c @@ -26,6 +26,7 @@ #include "run-command.h" #include "setup.h" #include "shallow.h" +#include "tree.h" #include "hook.h" static struct commit_extra_header *read_commit_extra_header_lines(const char *buf, size_t len, const char **); diff --git a/commit.h b/commit.h index 69b2f376e9..28928833c5 100644 --- a/commit.h +++ b/commit.h @@ -2,13 +2,10 @@ #define COMMIT_H #include "object.h" -#include "tree.h" -#include "strbuf.h" -#include "decorate.h" -#include "gpg-interface.h" -#include "string-list.h" -#include "pretty.h" -#include "commit-slab.h" + +struct signature_check; +struct strbuf; +struct tree; #define COMMIT_NOT_FROM_GRAPH 0xFFFFFFFF #define GENERATION_NUMBER_INFINITY ((1ULL << 63) - 1) diff --git a/dir.c b/dir.c index ed262fa6e4..a7469df3ac 100644 --- a/dir.c +++ b/dir.c @@ -27,6 +27,7 @@ #include "submodule-config.h" #include "symlinks.h" #include "trace2.h" +#include "tree.h" #include "wrapper.h" /* diff --git a/fetch-pack.c b/fetch-pack.c index 677102465a..a9745bd9fa 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "repository.h" #include "config.h" +#include "date.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/fsck.c b/fsck.c index adbe8bf59e..3261ef9ec2 100644 --- a/fsck.c +++ b/fsck.c @@ -1,5 +1,6 @@ #include "git-compat-util.h" #include "alloc.h" +#include "date.h" #include "hex.h" #include "object-store.h" #include "repository.h" diff --git a/gpg-interface.c b/gpg-interface.c index 8615dcd4b4..49d72c2066 100644 --- a/gpg-interface.c +++ b/gpg-interface.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "commit.h" #include "config.h" +#include "date.h" #include "gettext.h" #include "run-command.h" #include "strbuf.h" diff --git a/grep.c b/grep.c index d144b37489..e620e375b1 100644 --- a/grep.c +++ b/grep.c @@ -4,6 +4,7 @@ #include "grep.h" #include "hex.h" #include "object-store.h" +#include "pretty.h" #include "userdiff.h" #include "xdiff-interface.h" #include "diff.h" diff --git a/http-push.c b/http-push.c index 637a4e91f7..3f18498636 100644 --- a/http-push.c +++ b/http-push.c @@ -15,6 +15,7 @@ #include "setup.h" #include "sigchain.h" #include "strvec.h" +#include "tree.h" #include "packfile.h" #include "object-store.h" #include "commit-reach.h" diff --git a/log-tree.c b/log-tree.c index b5cf3d8439..8861900b59 100644 --- a/log-tree.c +++ b/log-tree.c @@ -24,6 +24,7 @@ #include "help.h" #include "range-diff.h" #include "strmap.h" +#include "tree.h" #include "write-or-die.h" static struct decoration name_decoration = { "object names" }; diff --git a/merge-ort-wrappers.c b/merge-ort-wrappers.c index 2c47c5a623..a550753300 100644 --- a/merge-ort-wrappers.c +++ b/merge-ort-wrappers.c @@ -3,6 +3,7 @@ #include "hash.h" #include "merge-ort.h" #include "merge-ort-wrappers.h" +#include "tree.h" #include "commit.h" diff --git a/merge.c b/merge.c index da7fa652c2..10aaec3a6c 100644 --- a/merge.c +++ b/merge.c @@ -7,6 +7,7 @@ #include "commit.h" #include "run-command.h" #include "resolve-undo.h" +#include "tree.h" #include "tree-walk.h" #include "unpack-trees.h" #include "dir.h" diff --git a/notes-cache.c b/notes-cache.c index fbcdfd0dfe..14288caf98 100644 --- a/notes-cache.c +++ b/notes-cache.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "notes-cache.h" #include "object-store.h" +#include "pretty.h" #include "repository.h" #include "commit.h" #include "refs.h" diff --git a/notes-utils.c b/notes-utils.c index cb88171b7b..4a793eb347 100644 --- a/notes-utils.c +++ b/notes-utils.c @@ -6,6 +6,7 @@ #include "refs.h" #include "notes-utils.h" #include "repository.h" +#include "strbuf.h" void create_notes_commit(struct repository *r, struct notes_tree *t, diff --git a/object-name.c b/object-name.c index 3cd5b32729..5ccbe854b6 100644 --- a/object-name.c +++ b/object-name.c @@ -15,6 +15,7 @@ #include "dir.h" #include "oid-array.h" #include "packfile.h" +#include "pretty.h" #include "object-store.h" #include "repository.h" #include "setup.h" diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c index faf67c94d3..3d3fd38065 100644 --- a/pack-bitmap-write.c +++ b/pack-bitmap-write.c @@ -18,6 +18,7 @@ #include "commit-reach.h" #include "prio-queue.h" #include "trace2.h" +#include "tree.h" struct bitmapped_commit { struct commit *commit; diff --git a/parse-options-cb.c b/parse-options-cb.c index 26a4c7d08a..be81158f86 100644 --- a/parse-options-cb.c +++ b/parse-options-cb.c @@ -3,6 +3,7 @@ #include "branch.h" #include "commit.h" #include "color.h" +#include "date.h" #include "environment.h" #include "gettext.h" #include "object-name.h" diff --git a/parse-options.c b/parse-options.c index b6803647d0..f8a155ee13 100644 --- a/parse-options.c +++ b/parse-options.c @@ -5,6 +5,7 @@ #include "commit.h" #include "color.h" #include "gettext.h" +#include "strbuf.h" #include "utf8.h" static int disallow_abbreviated_options; diff --git a/read-cache.c b/read-cache.c index b3e2917ddc..d64d93bc36 100644 --- a/read-cache.c +++ b/read-cache.c @@ -6,6 +6,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "date.h" #include "diff.h" #include "diffcore.h" #include "hex.h" diff --git a/ref-filter.c b/ref-filter.c index 594e66ad36..84eee904ba 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "environment.h" #include "gettext.h" +#include "gpg-interface.h" #include "hex.h" #include "parse-options.h" #include "refs.h" diff --git a/reflog.c b/reflog.c index 9c09443088..57dc7c0d05 100644 --- a/reflog.c +++ b/reflog.c @@ -4,6 +4,7 @@ #include "reflog.h" #include "refs.h" #include "revision.h" +#include "tree.h" #include "worktree.h" /* Remember to update object flag allocation in object.h */ diff --git a/refs/debug.c b/refs/debug.c index adc34c836f..6f11e6de46 100644 --- a/refs/debug.c +++ b/refs/debug.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "hex.h" #include "refs-internal.h" +#include "string-list.h" #include "trace.h" static struct trace_key trace_refs = TRACE_KEY_INIT(REFS); diff --git a/refspec.c b/refspec.c index 31b61d782c..57f6c2aaf9 100644 --- a/refspec.c +++ b/refspec.c @@ -6,6 +6,7 @@ #include "strvec.h" #include "refs.h" #include "refspec.h" +#include "strbuf.h" static struct refspec_item s_tag_refspec = { .force = 0, diff --git a/revision.h b/revision.h index 742700504a..6630bb2eae 100644 --- a/revision.h +++ b/revision.h @@ -8,6 +8,7 @@ #include "pretty.h" #include "diff.h" #include "commit-slab-decl.h" +#include "decorate.h" #include "ident.h" #include "list-objects-filter-options.h" diff --git a/send-pack.c b/send-pack.c index 351037b07b..e68da24cc5 100644 --- a/send-pack.c +++ b/send-pack.c @@ -1,6 +1,7 @@ #include "git-compat-util.h" #include "config.h" #include "commit.h" +#include "date.h" #include "gettext.h" #include "hex.h" #include "refs.h" diff --git a/wt-status.c b/wt-status.c index 97b9c1c035..068b76ef6d 100644 --- a/wt-status.c +++ b/wt-status.c @@ -22,6 +22,7 @@ #include "strbuf.h" #include "trace.h" #include "trace2.h" +#include "tree.h" #include "utf8.h" #include "worktree.h" #include "lockfile.h" -- cgit 1.2.3-korg From ea1615dfdd70fcc49f8567fd6abdf5fcda2fbc0d Mon Sep 17 00:00:00 2001 From: Jeff King Date: Thu, 27 Apr 2023 04:14:09 -0400 Subject: parse_commit(): parse timestamp from end of line To find the committer timestamp, we parse left-to-right looking for the closing ">" of the email, and then expect the timestamp right after that. But we've seen some broken cases in the wild where this fails, but we _could_ find the timestamp with a little extra work. E.g.: Name > 123456789 -0500 This means that features that rely on the committer timestamp, like --since or --until, will treat the commit as happening at time 0 (i.e., 1970). This is doubly confusing because the pretty-print parser learned to handle these in 03818a4a94 (split_ident: parse timestamp from end of line, 2013-10-14). So printing them via "git show", etc, makes everything look normal, but --until, etc are still broken (despite the fact that that commit explicitly mentioned --until!). So let's use the same trick as 03818a4a94: find the end of the line, and parse back to the final ">". In theory we could use split_ident_line() here, but it's actually a bit more strict. In particular, it requires a valid time-zone token, too. That should be present, of course, but we wouldn't want to break --until for cases that are working currently. We might want to teach split_ident_line() to become more lenient there, but it would require checking its many callers (since right now they can assume that if date_start is non-NULL, so is tz_start). So for now we'll just reimplement the same trick in the commit parser. The test is in t4212, which already covers similar cases, courtesy of 03818a4a94. We'll just adjust the broken commit to munge both the author and committer timestamps. Note that we could match (author|committer) here, but alternation can't be used portably in sed. Since we wouldn't expect to see ">" except as part of an ident line, we can just match that character on any line. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- commit.c | 24 ++++++++++++++++-------- t/t4212-log-corrupt.sh | 7 ++++++- 2 files changed, 22 insertions(+), 9 deletions(-) (limited to 'commit.c') diff --git a/commit.c b/commit.c index e433c33bb0..a1bc4bd8b9 100644 --- a/commit.c +++ b/commit.c @@ -91,6 +91,7 @@ struct commit *lookup_commit_reference_by_name(const char *name) static timestamp_t parse_commit_date(const char *buf, const char *tail) { const char *dateptr; + const char *eol; if (buf + 6 >= tail) return 0; @@ -102,16 +103,23 @@ static timestamp_t parse_commit_date(const char *buf, const char *tail) return 0; if (memcmp(buf, "committer", 9)) return 0; - while (buf < tail && *buf++ != '>') - /* nada */; - if (buf >= tail) + + /* + * Jump to end-of-line so that we can walk backwards to find the + * end-of-email ">". This is more forgiving of malformed cases + * because unexpected characters tend to be in the name and email + * fields. + */ + eol = memchr(buf, '\n', tail - buf); + if (!eol) return 0; - dateptr = buf; - while (buf < tail && *buf++ != '\n') - /* nada */; - if (buf >= tail) + dateptr = eol; + while (dateptr > buf && dateptr[-1] != '>') + dateptr--; + if (dateptr == buf || dateptr == eol) return 0; - /* dateptr < buf && buf[-1] == '\n', so parsing will stop at buf-1 */ + + /* dateptr < eol && *eol == '\n', so parsing will stop at eol */ return parse_timestamp(dateptr, NULL, 10); } diff --git a/t/t4212-log-corrupt.sh b/t/t4212-log-corrupt.sh index 8b5433ea74..af4b35ff56 100755 --- a/t/t4212-log-corrupt.sh +++ b/t/t4212-log-corrupt.sh @@ -9,7 +9,7 @@ test_expect_success 'setup' ' test_commit foo && git cat-file commit HEAD >ok.commit && - sed "/^author /s/>/>-<>/" broken_email.commit && + sed "s/>/>-<>/" broken_email.commit && git hash-object --literally -w -t commit broken_email.commit >broken_email.hash && git update-ref refs/heads/broken_email $(cat broken_email.hash) @@ -44,6 +44,11 @@ test_expect_success 'git log --format with broken author email' ' test_must_be_empty actual.err ' +test_expect_success '--until handles broken email' ' + git rev-list --until=1980-01-01 broken_email >actual && + test_must_be_empty actual +' + munge_author_date () { git cat-file commit "$1" >commit.orig && sed "s/^\(author .*>\) [0-9]*/\1 $2/" commit.munge && -- cgit 1.2.3-korg From 089d9adff6408b8f3406e2f46179501337715ae8 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Thu, 27 Apr 2023 04:17:15 -0400 Subject: parse_commit(): handle broken whitespace-only timestamp The comment in parse_commit_date() claims that parse_timestamp() will not walk past the end of the buffer we've been given, since it will hit the newline at "eol" and stop. This is usually true, when dateptr contains actual numbers to parse. But with a line like: committer name \n with just whitespace, and no numbers, parse_timestamp() will consume that newline as part of the leading whitespace, and we may walk past our "tail" pointer (which itself is set from the "size" parameter passed in to parse_commit_buffer()). In practice this can't cause us to walk off the end of an array, because we always add an extra NUL byte to the end of objects we load from disk (as a defense against exactly this kind of bug). However, you can see the behavior in action when "committer" is the final header (which it usually is, unless there's an encoding) and the subject line can be parsed as an integer. We walk right past the newline on the committer line, as well as the "\n\n" separator, and mistake the subject for the timestamp. We can solve this by trimming the whitespace ourselves, making sure that it has some non-whitespace to parse. Note that we need to be a bit careful about the definition of "whitespace" here, as our isspace() doesn't match exotic characters like vertical tab or formfeed. We can work around that by checking for an actual number (see the in-code comment). This is slightly more restrictive than the current code, but in practice the results are either the same (we reject "foo" as "0", but so would parse_timestamp()) or extremely unlikely even for broken commits (parse_timestamp() would allow "\v123" as "123", but we'll now make it "0"). I did also allow "-" here, which may be controversial, as we don't currently support negative timestamps. My reasoning was two-fold. One, the design of parse_timestamp() is such that we should be able to easily switch it to handling signed values, and this otherwise creates a hard-to-find gotcha that anybody doing that work would get tripped up on. And two, the status quo is that we currently parse them, though the result of course ends up as a very large unsigned value (which is likely to just get clamped to "0" for display anyway, since our date routines can't handle it). The new test checks the commit parser (via "--until") for both vanilla spaces and the vertical-tab case. I also added a test to check these against the pretty-print formatter, which uses split_ident_line(). It's not subject to the same bug, because it already insists that there be one or more digits in the timestamp. Helped-by: Phillip Wood Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- commit.c | 28 ++++++++++++++++++++++++++-- t/t4212-log-corrupt.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 2 deletions(-) (limited to 'commit.c') diff --git a/commit.c b/commit.c index a1bc4bd8b9..a54b0a0df0 100644 --- a/commit.c +++ b/commit.c @@ -116,10 +116,34 @@ static timestamp_t parse_commit_date(const char *buf, const char *tail) dateptr = eol; while (dateptr > buf && dateptr[-1] != '>') dateptr--; - if (dateptr == buf || dateptr == eol) + if (dateptr == buf) return 0; - /* dateptr < eol && *eol == '\n', so parsing will stop at eol */ + /* + * Trim leading whitespace, but make sure we have at least one + * non-whitespace character, as parse_timestamp() will otherwise walk + * right past the newline we found in "eol" when skipping whitespace + * itself. + * + * In theory it would be sufficient to allow any character not matched + * by isspace(), but there's a catch: our isspace() does not + * necessarily match the behavior of parse_timestamp(), as the latter + * is implemented by system routines which match more exotic control + * codes, or even locale-dependent sequences. + * + * Since we expect the timestamp to be a number, we can check for that. + * Anything else (e.g., a non-numeric token like "foo") would just + * cause parse_timestamp() to return 0 anyway. + */ + while (dateptr < eol && isspace(*dateptr)) + dateptr++; + if (!isdigit(*dateptr) && *dateptr != '-') + return 0; + + /* + * We know there is at least one digit (or dash), so we'll begin + * parsing there and stop at worst case at eol. + */ return parse_timestamp(dateptr, NULL, 10); } diff --git a/t/t4212-log-corrupt.sh b/t/t4212-log-corrupt.sh index af4b35ff56..85e90acb09 100755 --- a/t/t4212-log-corrupt.sh +++ b/t/t4212-log-corrupt.sh @@ -92,4 +92,45 @@ test_expect_success 'absurdly far-in-future date' ' git log -1 --format=%ad $commit ' +test_expect_success 'create commits with whitespace committer dates' ' + # It is important that this subject line is numeric, since we want to + # be sure we are not confused by skipping whitespace and accidentally + # parsing the subject as a timestamp. + # + # Do not use munge_author_date here. Besides not hitting the committer + # line, it leaves the timezone intact, and we want nothing but + # whitespace. + # + # We will make two munged commits here. The first, ws_commit, will + # be purely spaces. The second contains a vertical tab, which is + # considered a space by strtoumax(), but not by our isspace(). + test_commit 1234567890 && + git cat-file commit HEAD >commit.orig && + sed "s/>.*/> /" commit.munge && + ws_commit=$(git hash-object --literally -w -t commit commit.munge) && + sed "s/>.*/> $(printf "\013")/" commit.munge && + vt_commit=$(git hash-object --literally -w -t commit commit.munge) +' + +test_expect_success '--until treats whitespace date as sentinel' ' + echo $ws_commit >expect && + git rev-list --until=1980-01-01 $ws_commit >actual && + test_cmp expect actual && + + echo $vt_commit >expect && + git rev-list --until=1980-01-01 $vt_commit >actual && + test_cmp expect actual +' + +test_expect_success 'pretty-printer handles whitespace date' ' + # as with the %ad test above, we will show these as the empty string, + # not the 1970 epoch date. This is intentional; see 7d9a281941 (t4212: + # test bogus timestamps with git-log, 2014-02-24) for more discussion. + echo : >expect && + git log -1 --format="%at:%ct" $ws_commit >actual && + test_cmp expect actual && + git log -1 --format="%at:%ct" $vt_commit >actual && + test_cmp expect actual +' + test_done -- cgit 1.2.3-korg From 90ef0f14eb1410747885806d8e55725053572654 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Thu, 27 Apr 2023 04:17:24 -0400 Subject: parse_commit(): describe more date-parsing failure modes The previous few commits improved the parsing of dates in malformed commit objects. But there's one big case left implicit: we may still feed garbage to parse_timestamp(). This is preferable to trying to be more strict, but let's document the thinking in a comment. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- commit.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'commit.c') diff --git a/commit.c b/commit.c index a54b0a0df0..73e883fe45 100644 --- a/commit.c +++ b/commit.c @@ -143,6 +143,15 @@ static timestamp_t parse_commit_date(const char *buf, const char *tail) /* * We know there is at least one digit (or dash), so we'll begin * parsing there and stop at worst case at eol. + * + * Note that we may feed parse_timestamp() extra characters here if the + * commit is malformed, and it will parse as far as it can. For + * example, "123foo456" would return "123". That might be questionable + * (versus returning "0"), but it would help in a hypothetical case + * like "123456+0100", where the whitespace from the timezone is + * missing. Since such syntactic errors may be baked into history and + * hard to correct now, let's err on trying to make our best guess + * here, rather than insist on perfect syntax. */ return parse_timestamp(dateptr, NULL, 10); } -- cgit 1.2.3-korg