From patchwork Sat Apr 1 15:10:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197055 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26D97C76196 for ; Sat, 1 Apr 2023 15:10:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230094AbjDAPKy (ORCPT ); Sat, 1 Apr 2023 11:10:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42356 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230121AbjDAPKr (ORCPT ); Sat, 1 Apr 2023 11:10:47 -0400 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 86C971BF72 for ; Sat, 1 Apr 2023 08:10:44 -0700 (PDT) Received: by mail-wm1-x32b.google.com with SMTP id l10-20020a05600c1d0a00b003f04bd3691eso689022wms.5 for ; Sat, 01 Apr 2023 08:10:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361843; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=15k1+wysyoqwgOK4avZnVYPyEdw7efOu8zIndYH67jU=; b=dK8M0pktAbMIwULax1rM29p08DR06CXS3GjiRIKTf6xGq77zJcrfhwmQLPWPJ2f/fQ m48zxyTbndi07l3Q6eoHVurv8Hm/zEMuB8nFUo2B3KqzHY7acFaiV/3kKD4wmV+E6W0h 5ygpAeoeb0fWBAVq4afe2vkH5bKUDaIQoqkub+TpEzzXssVFjkN+XjZ5xga1Y80JVyu+ A7RXWToYw8XyJjvsOxbkIqiZBw8wAwcqFiDfubwGDXmAVmducycoaQcRdxt1bmOd6+8g A52joHTdIjACIIwiqzRcJJXOzdnnfo0i/n64+xS6HCotwnT5cdF5Y+VaH5JF7tbPSSed snmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361843; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=15k1+wysyoqwgOK4avZnVYPyEdw7efOu8zIndYH67jU=; b=kHyyWsU3xmbwHRBs1rmgCUIe+xi6kCnoTQKHU1M62tPgSX43kRyNwrT0rB389HyV11 Qk6b79Yi7/B+k1OX1jzPsvPwKp8SgQmVir80Tep5TM4XazskQi/hRNNaGvzozuNpbyTL 1hFdq6PhsZ68iuUDcZ7o4G/ZvqySuKq8kSuj2LXd4NRhABeitmuEpGU4bigLbVNJmNHc BzM4Ee/0JmUMJTze4mDoGeZ8Y6jMMdWOyD41y5X0GX4E+mI6DDBbbLXEGhk4AxQQu0ik Aai+Csyb713t41lEEZG5pj2n76Qt6xu5Tgw6X+KmidgRf5qTcFKZ7MEGtj1lPB5Ewou7 pcuA== X-Gm-Message-State: AAQBX9cnCyR+KE+iLYW/3ASpJT5z/L9HqAYnHTjluiSMq33gjmXZx2jI lH0aCQHi3TQPJnzlHgczlUEFCGAFYow= X-Google-Smtp-Source: AKy350borSJAJ9Kz/75Ag/pIfYytyNAw3ZV73h+1SlCOWsvY5IxOu+MB9Jcl4n8t0lG1mpYCxEFE5A== X-Received: by 2002:a7b:c84e:0:b0:3f0:3ab2:a7e5 with SMTP id c14-20020a7bc84e000000b003f03ab2a7e5mr6076903wml.34.1680361842654; Sat, 01 Apr 2023 08:10:42 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id a5-20020adffb85000000b002c794495f6fsm5068002wrr.117.2023.04.01.08.10.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:41 -0700 (PDT) Message-Id: <6acf4eb2c7734883837b8c10bfdaa7cf4963af10.1680361838.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:14 +0000 Subject: [PATCH 01/24] treewide: be explicit about dependence on trace.h & trace2.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Dozens of files made use of trace and trace2 functions, without explicitly including trace.h or trace2.h. This made it more difficult to find which files could remove a dependence on cache.h. Make C files explicitly include trace.h or trace2.h if they are using them. Signed-off-by: Elijah Newren --- blame.c | 1 + builtin/checkout.c | 1 + builtin/commit-graph.c | 1 + builtin/fetch.c | 2 ++ builtin/fsmonitor--daemon.c | 1 + builtin/gc.c | 1 + builtin/push.c | 1 + builtin/rebase.c | 1 + builtin/receive-pack.c | 2 ++ builtin/reset.c | 2 ++ cache-tree.c | 2 ++ cache.h | 2 -- chdir-notify.c | 1 + common-main.c | 1 + compat/fsmonitor/fsm-listen-win32.c | 1 + compat/mingw.c | 1 + compat/simple-ipc/ipc-unix-socket.c | 1 + compat/simple-ipc/ipc-win32.c | 2 ++ compat/win32/trace2_win32_process_info.c | 1 + config.c | 1 + connect.c | 1 + convert.c | 1 + diff-lib.c | 1 + dir.c | 1 + environment.c | 1 + exec-cmd.c | 2 ++ fetch-pack.c | 1 + fsmonitor.c | 1 + fsmonitor.h | 1 + git.c | 2 ++ http.c | 1 + merge-ort.c | 1 + name-hash.c | 1 + notes-merge.c | 1 + pack-bitmap.c | 1 + pack-revindex.c | 1 + packfile.c | 1 + pkt-line.c | 1 + preload-index.c | 1 + progress.c | 1 + promisor-remote.c | 1 + protocol.c | 1 + read-cache.c | 1 + remote-curl.c | 1 + repository.c | 1 + revision.c | 1 + run-command.c | 2 ++ scalar.c | 1 + setup.c | 1 + shallow.c | 1 + submodule.c | 1 + t/helper/test-date.c | 1 + t/helper/test-lazy-init-name-hash.c | 1 + t/helper/test-path-utils.c | 1 + trace.c | 1 + trace2.c | 1 + transport.c | 1 + tree-walk.c | 1 + unpack-trees.c | 1 + upload-pack.c | 1 + wrapper.c | 1 + wt-status.c | 2 ++ 62 files changed, 70 insertions(+), 2 deletions(-) diff --git a/blame.c b/blame.c index 62db9807640..3455f6a5ea3 100644 --- a/blame.c +++ b/blame.c @@ -9,6 +9,7 @@ #include "hex.h" #include "setup.h" #include "tag.h" +#include "trace2.h" #include "blame.h" #include "alloc.h" #include "commit-slab.h" diff --git a/builtin/checkout.c b/builtin/checkout.c index 38a8cd6a965..422ea768404 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -26,6 +26,7 @@ #include "setup.h" #include "submodule.h" #include "submodule-config.h" +#include "trace2.h" #include "tree.h" #include "tree-walk.h" #include "unpack-trees.h" diff --git a/builtin/commit-graph.c b/builtin/commit-graph.c index 90114269761..a3d00fa232b 100644 --- a/builtin/commit-graph.c +++ b/builtin/commit-graph.c @@ -12,6 +12,7 @@ #include "progress.h" #include "replace-object.h" #include "tag.h" +#include "trace2.h" #define BUILTIN_COMMIT_GRAPH_VERIFY_USAGE \ N_("git commit-graph verify [--object-dir ] [--shallow] [--[no-]progress]") diff --git a/builtin/fetch.c b/builtin/fetch.c index 6a6a58d49c9..ffe0e214592 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -31,6 +31,8 @@ #include "promisor-remote.h" #include "commit-graph.h" #include "shallow.h" +#include "trace.h" +#include "trace2.h" #include "worktree.h" #include "bundle-uri.h" diff --git a/builtin/fsmonitor--daemon.c b/builtin/fsmonitor--daemon.c index a280d8bb14f..df876b41d65 100644 --- a/builtin/fsmonitor--daemon.c +++ b/builtin/fsmonitor--daemon.c @@ -14,6 +14,7 @@ #include "simple-ipc.h" #include "khash.h" #include "pkt-line.h" +#include "trace2.h" static const char * const builtin_fsmonitor__daemon_usage[] = { N_("git fsmonitor--daemon start []"), diff --git a/builtin/gc.c b/builtin/gc.c index b291e23b13d..000a2ef5e11 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -37,6 +37,7 @@ #include "gettext.h" #include "hook.h" #include "setup.h" +#include "trace2.h" #include "wrapper.h" #define FAILED_RUN "failed to run %s" diff --git a/builtin/push.c b/builtin/push.c index fa550b8f80a..a99ba38a368 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -16,6 +16,7 @@ #include "submodule.h" #include "submodule-config.h" #include "send-pack.h" +#include "trace2.h" #include "color.h" static const char * const push_usage[] = { diff --git a/builtin/rebase.c b/builtin/rebase.c index dbc8f90ef04..fb859f93a30 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -32,6 +32,7 @@ #include "sequencer.h" #include "rebase-interactive.h" #include "reset.h" +#include "trace2.h" #include "hook.h" #include "wrapper.h" diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 2ba5a74ba7b..aa5b6fe861f 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -32,6 +32,8 @@ #include "object-store.h" #include "protocol.h" #include "commit-reach.h" +#include "trace.h" +#include "trace2.h" #include "worktree.h" #include "shallow.h" #include "wrapper.h" diff --git a/builtin/reset.c b/builtin/reset.c index 0ed329236c8..4d639ec6b37 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -29,6 +29,8 @@ #include "setup.h" #include "submodule.h" #include "submodule-config.h" +#include "trace.h" +#include "trace2.h" #include "dir.h" #include "add-interactive.h" diff --git a/cache-tree.c b/cache-tree.c index ff14b527da3..39f0c744727 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -11,6 +11,8 @@ #include "replace-object.h" #include "promisor-remote.h" #include "sparse-index.h" +#include "trace.h" +#include "trace2.h" #ifndef DEBUG_CACHE_TREE #define DEBUG_CACHE_TREE 0 diff --git a/cache.h b/cache.h index 82d7b112b4e..c8ae80fded3 100644 --- a/cache.h +++ b/cache.h @@ -8,8 +8,6 @@ #include "advice.h" #include "gettext.h" #include "convert.h" -#include "trace.h" -#include "trace2.h" #include "string-list.h" #include "pack-revindex.h" #include "hash.h" diff --git a/chdir-notify.c b/chdir-notify.c index 929ec01b3a2..8e38cd6f3ae 100644 --- a/chdir-notify.c +++ b/chdir-notify.c @@ -3,6 +3,7 @@ #include "chdir-notify.h" #include "list.h" #include "strbuf.h" +#include "trace.h" struct chdir_notify_entry { const char *name; diff --git a/common-main.c b/common-main.c index b83cb5cf066..f3193173535 100644 --- a/common-main.c +++ b/common-main.c @@ -3,6 +3,7 @@ #include "gettext.h" #include "attr.h" #include "setup.h" +#include "trace2.h" /* * Many parts of Git have subprograms communicate via pipe, expect the diff --git a/compat/fsmonitor/fsm-listen-win32.c b/compat/fsmonitor/fsm-listen-win32.c index 7b07b74ba5b..677b1bbdeca 100644 --- a/compat/fsmonitor/fsm-listen-win32.c +++ b/compat/fsmonitor/fsm-listen-win32.c @@ -4,6 +4,7 @@ #include "fsm-listen.h" #include "fsmonitor--daemon.h" #include "gettext.h" +#include "trace2.h" /* * The documentation of ReadDirectoryChangesW() states that the maximum diff --git a/compat/mingw.c b/compat/mingw.c index 94c5a1daa40..abbc3faf32f 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -12,6 +12,7 @@ #include "win32/lazyload.h" #include "../config.h" #include "../environment.h" +#include "../trace2.h" #include "../wrapper.h" #include "dir.h" #include "gettext.h" diff --git a/compat/simple-ipc/ipc-unix-socket.c b/compat/simple-ipc/ipc-unix-socket.c index 152db60a311..7064475b39f 100644 --- a/compat/simple-ipc/ipc-unix-socket.c +++ b/compat/simple-ipc/ipc-unix-socket.c @@ -4,6 +4,7 @@ #include "strbuf.h" #include "pkt-line.h" #include "thread-utils.h" +#include "trace2.h" #include "unix-socket.h" #include "unix-stream-server.h" diff --git a/compat/simple-ipc/ipc-win32.c b/compat/simple-ipc/ipc-win32.c index 997f6144344..6adce3c650e 100644 --- a/compat/simple-ipc/ipc-win32.c +++ b/compat/simple-ipc/ipc-win32.c @@ -5,6 +5,8 @@ #include "strbuf.h" #include "pkt-line.h" #include "thread-utils.h" +#include "trace.h" +#include "trace2.h" #include "accctrl.h" #include "aclapi.h" diff --git a/compat/win32/trace2_win32_process_info.c b/compat/win32/trace2_win32_process_info.c index a53fd924340..e3e895c78a2 100644 --- a/compat/win32/trace2_win32_process_info.c +++ b/compat/win32/trace2_win32_process_info.c @@ -1,5 +1,6 @@ #include "../../cache.h" #include "../../json-writer.h" +#include "../../trace2.h" #include "lazyload.h" #include #include diff --git a/config.c b/config.c index 5ad9ae91436..e5c2e477319 100644 --- a/config.c +++ b/config.c @@ -28,6 +28,7 @@ #include "replace-object.h" #include "refs.h" #include "setup.h" +#include "trace2.h" #include "worktree.h" #include "wrapper.h" #include "write-or-die.h" diff --git a/connect.c b/connect.c index 737dd906f72..929f72ec5d7 100644 --- a/connect.c +++ b/connect.c @@ -14,6 +14,7 @@ #include "string-list.h" #include "oid-array.h" #include "transport.h" +#include "trace2.h" #include "strbuf.h" #include "version.h" #include "protocol.h" diff --git a/convert.c b/convert.c index da06e2f51cb..126036ec330 100644 --- a/convert.c +++ b/convert.c @@ -9,6 +9,7 @@ #include "sigchain.h" #include "pkt-line.h" #include "sub-process.h" +#include "trace.h" #include "utf8.h" #include "ll-merge.h" #include "wrapper.h" diff --git a/diff-lib.c b/diff-lib.c index 4169dd8cb13..8b5cca96ace 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -13,6 +13,7 @@ #include "unpack-trees.h" #include "refs.h" #include "submodule.h" +#include "trace.h" #include "dir.h" #include "fsmonitor.h" #include "commit-reach.h" diff --git a/dir.c b/dir.c index 18fd14c46b2..10f6c38b930 100644 --- a/dir.c +++ b/dir.c @@ -23,6 +23,7 @@ #include "fsmonitor.h" #include "setup.h" #include "submodule-config.h" +#include "trace2.h" #include "wrapper.h" /* diff --git a/environment.c b/environment.c index 63c697e7e97..2254595e4a8 100644 --- a/environment.c +++ b/environment.c @@ -24,6 +24,7 @@ #include "chdir-notify.h" #include "setup.h" #include "shallow.h" +#include "trace.h" #include "wrapper.h" #include "write-or-die.h" diff --git a/exec-cmd.c b/exec-cmd.c index fae0d4b244a..6f618463896 100644 --- a/exec-cmd.c +++ b/exec-cmd.c @@ -5,6 +5,8 @@ #include "gettext.h" #include "quote.h" #include "strvec.h" +#include "trace.h" +#include "trace2.h" #if defined(RUNTIME_PREFIX) diff --git a/fetch-pack.c b/fetch-pack.c index 368f2ed25a1..7d4f190fb1d 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -17,6 +17,7 @@ #include "remote.h" #include "run-command.h" #include "connect.h" +#include "trace2.h" #include "transport.h" #include "version.h" #include "oid-array.h" diff --git a/fsmonitor.c b/fsmonitor.c index c956a347a27..28c083d4d84 100644 --- a/fsmonitor.c +++ b/fsmonitor.c @@ -7,6 +7,7 @@ #include "fsmonitor-ipc.h" #include "run-command.h" #include "strbuf.h" +#include "trace2.h" #define INDEX_EXTENSION_VERSION1 (1) #define INDEX_EXTENSION_VERSION2 (2) diff --git a/fsmonitor.h b/fsmonitor.h index edf7ce5203b..67faf592e12 100644 --- a/fsmonitor.h +++ b/fsmonitor.h @@ -4,6 +4,7 @@ #include "cache.h" #include "dir.h" #include "fsmonitor-settings.h" +#include "trace.h" extern struct trace_key trace_fsmonitor; diff --git a/git.c b/git.c index 77f920a6f6f..d2bb86e0d32 100644 --- a/git.c +++ b/git.c @@ -9,6 +9,8 @@ #include "replace-object.h" #include "setup.h" #include "shallow.h" +#include "trace.h" +#include "trace2.h" #define RUN_SETUP (1<<0) #define RUN_SETUP_GENTLY (1<<1) diff --git a/http.c b/http.c index dbe4d29ef7a..0212c0ad3b2 100644 --- a/http.c +++ b/http.c @@ -12,6 +12,7 @@ #include "version.h" #include "pkt-line.h" #include "gettext.h" +#include "trace.h" #include "transport.h" #include "packfile.h" #include "protocol.h" diff --git a/merge-ort.c b/merge-ort.c index 5bf64354d16..ad7367179d9 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -37,6 +37,7 @@ #include "strmap.h" #include "submodule-config.h" #include "submodule.h" +#include "trace2.h" #include "tree.h" #include "unpack-trees.h" #include "xdiff-interface.h" diff --git a/name-hash.c b/name-hash.c index 2c2861efd1c..fb13716e430 100644 --- a/name-hash.c +++ b/name-hash.c @@ -9,6 +9,7 @@ #include "environment.h" #include "gettext.h" #include "thread-utils.h" +#include "trace.h" #include "trace2.h" #include "sparse-index.h" diff --git a/notes-merge.c b/notes-merge.c index c40107c3aa0..19405ec71ac 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -13,6 +13,7 @@ #include "notes.h" #include "notes-merge.h" #include "strbuf.h" +#include "trace.h" #include "notes-utils.h" #include "commit-reach.h" #include "wrapper.h" diff --git a/pack-bitmap.c b/pack-bitmap.c index 23d87e71bd9..eba838d24ee 100644 --- a/pack-bitmap.c +++ b/pack-bitmap.c @@ -15,6 +15,7 @@ #include "pack-objects.h" #include "packfile.h" #include "repository.h" +#include "trace2.h" #include "object-store.h" #include "list-objects-filter-options.h" #include "midx.h" diff --git a/pack-revindex.c b/pack-revindex.c index 03c7e81f9da..9f9927d9471 100644 --- a/pack-revindex.c +++ b/pack-revindex.c @@ -3,6 +3,7 @@ #include "pack-revindex.h" #include "object-store.h" #include "packfile.h" +#include "trace2.h" #include "config.h" #include "midx.h" diff --git a/packfile.c b/packfile.c index b120405ccc8..2d3dabb1aee 100644 --- a/packfile.c +++ b/packfile.c @@ -15,6 +15,7 @@ #include "commit.h" #include "object.h" #include "tag.h" +#include "trace.h" #include "tree-walk.h" #include "tree.h" #include "object-store.h" diff --git a/pkt-line.c b/pkt-line.c index 36ae0fea4a3..3561d853584 100644 --- a/pkt-line.c +++ b/pkt-line.c @@ -3,6 +3,7 @@ #include "gettext.h" #include "hex.h" #include "run-command.h" +#include "trace.h" #include "wrapper.h" #include "write-or-die.h" diff --git a/preload-index.c b/preload-index.c index 52544d004e7..4abf9c983b2 100644 --- a/preload-index.c +++ b/preload-index.c @@ -11,6 +11,7 @@ #include "progress.h" #include "thread-utils.h" #include "repository.h" +#include "trace2.h" /* * Mostly randomly chosen maximum thread counts: we diff --git a/progress.c b/progress.c index 44c784d75f1..c5c8514737a 100644 --- a/progress.c +++ b/progress.c @@ -13,6 +13,7 @@ #include "progress.h" #include "strbuf.h" #include "trace.h" +#include "trace2.h" #include "utf8.h" #include "config.h" diff --git a/promisor-remote.c b/promisor-remote.c index a8dbb788e8f..9d83d2f4b9c 100644 --- a/promisor-remote.c +++ b/promisor-remote.c @@ -4,6 +4,7 @@ #include "object-store.h" #include "promisor-remote.h" #include "config.h" +#include "trace2.h" #include "transport.h" #include "strvec.h" #include "packfile.h" diff --git a/protocol.c b/protocol.c index bdb32e1eeb6..4d8eb887e82 100644 --- a/protocol.c +++ b/protocol.c @@ -2,6 +2,7 @@ #include "config.h" #include "environment.h" #include "protocol.h" +#include "trace2.h" static enum protocol_version parse_protocol_version(const char *value) { diff --git a/read-cache.c b/read-cache.c index e5e72169047..a744eb89e4e 100644 --- a/read-cache.c +++ b/read-cache.c @@ -23,6 +23,7 @@ #include "resolve-undo.h" #include "run-command.h" #include "strbuf.h" +#include "trace2.h" #include "varint.h" #include "split-index.h" #include "utf8.h" diff --git a/remote-curl.c b/remote-curl.c index 0f2410da8e7..0ada1dd8026 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -21,6 +21,7 @@ #include "setup.h" #include "protocol.h" #include "quote.h" +#include "trace2.h" #include "transport.h" #include "write-or-die.h" diff --git a/repository.c b/repository.c index f6d9f5db08e..c53e480e326 100644 --- a/repository.c +++ b/repository.c @@ -14,6 +14,7 @@ #include "setup.h" #include "submodule-config.h" #include "sparse-index.h" +#include "trace2.h" #include "promisor-remote.h" /* The main repository */ diff --git a/revision.c b/revision.c index cd3e841433a..7c34c93885e 100644 --- a/revision.c +++ b/revision.c @@ -31,6 +31,7 @@ #include "worktree.h" #include "setup.h" #include "strvec.h" +#include "trace2.h" #include "commit-reach.h" #include "commit-graph.h" #include "prio-queue.h" diff --git a/run-command.c b/run-command.c index 614d48fa9a2..e64bb08a5bf 100644 --- a/run-command.c +++ b/run-command.c @@ -8,6 +8,8 @@ #include "thread-utils.h" #include "strbuf.h" #include "string-list.h" +#include "trace.h" +#include "trace2.h" #include "quote.h" #include "config.h" #include "packfile.h" diff --git a/scalar.c b/scalar.c index 27635658c01..f7680463e1b 100644 --- a/scalar.c +++ b/scalar.c @@ -16,6 +16,7 @@ #include "packfile.h" #include "help.h" #include "setup.h" +#include "trace2.h" static void setup_enlistment_directory(int argc, const char **argv, const char * const *usagestr, diff --git a/setup.c b/setup.c index 6c5b85e96c1..3bb7a9fff62 100644 --- a/setup.c +++ b/setup.c @@ -10,6 +10,7 @@ #include "chdir-notify.h" #include "promisor-remote.h" #include "quote.h" +#include "trace2.h" static int inside_git_dir = -1; static int inside_work_tree = -1; diff --git a/shallow.c b/shallow.c index b4d726bd595..128f56179ed 100644 --- a/shallow.c +++ b/shallow.c @@ -17,6 +17,7 @@ #include "list-objects.h" #include "commit-reach.h" #include "shallow.h" +#include "trace.h" #include "wrapper.h" void set_alternate_shallow_file(struct repository *r, const char *path, int override) diff --git a/submodule.c b/submodule.c index d7d0a8a0834..58c9d5e5673 100644 --- a/submodule.c +++ b/submodule.c @@ -28,6 +28,7 @@ #include "commit-reach.h" #include "setup.h" #include "shallow.h" +#include "trace2.h" static int config_update_recurse_submodules = RECURSE_SUBMODULES_OFF; static int initialized_fetch_ref_tips; diff --git a/t/helper/test-date.c b/t/helper/test-date.c index 45951b1df87..a01eec99f35 100644 --- a/t/helper/test-date.c +++ b/t/helper/test-date.c @@ -1,6 +1,7 @@ #include "test-tool.h" #include "cache.h" #include "date.h" +#include "trace.h" static const char *usage_msg = "\n" " test-tool date relative [time_t]...\n" diff --git a/t/helper/test-lazy-init-name-hash.c b/t/helper/test-lazy-init-name-hash.c index 06ce3a47ccf..f23d983c118 100644 --- a/t/helper/test-lazy-init-name-hash.c +++ b/t/helper/test-lazy-init-name-hash.c @@ -4,6 +4,7 @@ #include "environment.h" #include "parse-options.h" #include "setup.h" +#include "trace.h" static int single; static int multi; diff --git a/t/helper/test-path-utils.c b/t/helper/test-path-utils.c index 4f5ac2fadce..6355c9e4b6d 100644 --- a/t/helper/test-path-utils.c +++ b/t/helper/test-path-utils.c @@ -4,6 +4,7 @@ #include "environment.h" #include "setup.h" #include "string-list.h" +#include "trace.h" #include "utf8.h" /* diff --git a/trace.c b/trace.c index 81318a2455d..d8eaa0a786a 100644 --- a/trace.c +++ b/trace.c @@ -26,6 +26,7 @@ #include "environment.h" #include "quote.h" #include "setup.h" +#include "trace.h" #include "wrapper.h" struct trace_key trace_default_key = { "GIT_TRACE", 0, 0, 0 }; diff --git a/trace2.c b/trace2.c index e8ba62c0c3d..21264df71b7 100644 --- a/trace2.c +++ b/trace2.c @@ -7,6 +7,7 @@ #include "thread-utils.h" #include "version.h" #include "trace.h" +#include "trace2.h" #include "trace2/tr2_cfg.h" #include "trace2/tr2_cmd_name.h" #include "trace2/tr2_ctr.h" diff --git a/transport.c b/transport.c index d2a1af43b5c..11b38d16dcf 100644 --- a/transport.c +++ b/transport.c @@ -22,6 +22,7 @@ #include "string-list.h" #include "oid-array.h" #include "sigchain.h" +#include "trace2.h" #include "transport-internal.h" #include "protocol.h" #include "object-store.h" diff --git a/tree-walk.c b/tree-walk.c index 38b6556478d..59add24c8e9 100644 --- a/tree-walk.c +++ b/tree-walk.c @@ -5,6 +5,7 @@ #include "gettext.h" #include "hex.h" #include "object-store.h" +#include "trace2.h" #include "tree.h" #include "pathspec.h" #include "json-writer.h" diff --git a/unpack-trees.c b/unpack-trees.c index 4a5522bdb26..d41489b4adb 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -17,6 +17,7 @@ #include "sparse-index.h" #include "submodule.h" #include "submodule-config.h" +#include "trace2.h" #include "fsmonitor.h" #include "object-store.h" #include "promisor-remote.h" diff --git a/upload-pack.c b/upload-pack.c index e23f16dfdd2..71440c63806 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -22,6 +22,7 @@ #include "version.h" #include "string-list.h" #include "strvec.h" +#include "trace2.h" #include "prio-queue.h" #include "protocol.h" #include "quote.h" diff --git a/wrapper.c b/wrapper.c index ee837575902..c130d7518bf 100644 --- a/wrapper.c +++ b/wrapper.c @@ -5,6 +5,7 @@ #include "abspath.h" #include "config.h" #include "gettext.h" +#include "trace2.h" #include "wrapper.h" static intmax_t count_fsync_writeout_only; diff --git a/wt-status.c b/wt-status.c index 4bef09de1ca..ccbfd9cc6de 100644 --- a/wt-status.c +++ b/wt-status.c @@ -18,6 +18,8 @@ #include "column.h" #include "setup.h" #include "strbuf.h" +#include "trace.h" +#include "trace2.h" #include "utf8.h" #include "worktree.h" #include "lockfile.h" From patchwork Sat Apr 1 15:10:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197056 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71CDDC6FD1D for ; Sat, 1 Apr 2023 15:10:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229947AbjDAPKz (ORCPT ); Sat, 1 Apr 2023 11:10:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42362 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230123AbjDAPKr (ORCPT ); Sat, 1 Apr 2023 11:10:47 -0400 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EA24F1CBAE for ; Sat, 1 Apr 2023 08:10:44 -0700 (PDT) Received: by mail-wm1-x333.google.com with SMTP id d11-20020a05600c3acb00b003ef6e6754c5so11702874wms.5 for ; Sat, 01 Apr 2023 08:10:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361843; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=8TR4N/Efmqx5wIuutFZPJqwYUKvntB+y/dChvQi+xps=; b=Vkr2EQxsYHiDvO/xHOOdoDnN+6jqlK5ebJCn9R6kOnLJcoDHlOl9TRWWN4DhSekY7e 7y+DcKmWg1LTISPU+T9Th50Mtbi3dX35oG8zPWopE051uLhClrfz4w2wueW/Qcilu8Jr Ya5JbLJVOXAJCodAaBIXMCgtckT085DmwePlBptOqtuhSEzJ6Ni9BEWMOIRT9p5zlekt Th2JBhyWIfL3Y+8iqhaipI1GlGffSjCf91VTMTAwv3xb7UJPN9lbzyoT9jIBxi03ssKl OU/r2VSG4sTDnngsSyGYj7XIfaf3JQe2D+b929/3fsm2CeEA1WGVUcaI/tH14paOSH3q lKzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361843; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8TR4N/Efmqx5wIuutFZPJqwYUKvntB+y/dChvQi+xps=; b=Dr4p+VtyjScrxSctg53ci0bOnL2eO6Fc6GktnTPvRnAqH2zp8g32By+D1rLL6oY3cR myUP/FrUEzKbXA7mQg30L3586xNERKZ9ehbrZQthYS/M1VN+JNSTYWQXCuKlLgQTeXjc VShWwuAV8ciRHhDfocFwlufePLLhxJDWSc/SltAuQnU6Mb+WqzYXdSccJxNP2sZAdBNV DE4NjRDa9gBCLGsjAyrmqiQnnRatx/0TFmvgKdSz25dhTrJY1SzJcINN0lznFmbwz/DW KKEdUL+f+1v7ngEcGJbzwhx32Qz9rp1CMPz94tZKzGrGCmn/5F9dZe/X34+9kRCFneLz RKGQ== X-Gm-Message-State: AO0yUKX1VOsVVXcz2WHbBVxZzX8i8+DZeD/q0hsaXcL53wy7eLhK6M0j +cJWEcHHIxVwnuBiyALi2INCL/cpdLI= X-Google-Smtp-Source: AK7set/5B1fsPhyKf2a1QREo0mVrIgFXT/OEHwGoABEtHWgGzHlr382VbKqrtatuuGLxQpFhg9dwJQ== X-Received: by 2002:a05:600c:2305:b0:3ee:9c0e:c78f with SMTP id 5-20020a05600c230500b003ee9c0ec78fmr22861732wmo.5.1680361843153; Sat, 01 Apr 2023 08:10:43 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id v8-20020a05600c470800b003ef71d7d64asm13731774wmo.6.2023.04.01.08.10.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:42 -0700 (PDT) Message-Id: In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:15 +0000 Subject: [PATCH 02/24] treewide: be explicit about dependence on advice.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Dozens of files made use of advice functions, without explicitly including advice.h. This made it more difficult to find which files could remove a dependence on cache.h. Make C files explicitly include advice.h if they are using it. Signed-off-by: Elijah Newren --- add-patch.c | 1 + branch.c | 1 + builtin/add.c | 1 + builtin/am.c | 1 + builtin/clone.c | 1 + builtin/commit.c | 1 + builtin/fetch.c | 1 + builtin/merge-recursive.c | 1 + builtin/merge.c | 1 + builtin/mv.c | 1 + builtin/pull.c | 1 + builtin/push.c | 1 + builtin/reset.c | 1 + builtin/tag.c | 1 + cache.h | 1 - config.c | 1 + convert.c | 1 + editor.c | 1 + notes-merge.c | 1 + object-name.c | 1 + refs.c | 1 + sequencer.c | 1 + transport.c | 1 + unpack-trees.c | 1 + wt-status.c | 1 + 25 files changed, 24 insertions(+), 1 deletion(-) diff --git a/add-patch.c b/add-patch.c index 1e1ee2df596..b381f14a7de 100644 --- a/add-patch.c +++ b/add-patch.c @@ -1,5 +1,6 @@ #include "cache.h" #include "add-interactive.h" +#include "advice.h" #include "alloc.h" #include "environment.h" #include "gettext.h" diff --git a/branch.c b/branch.c index 99a0e7889e4..3a087b8b4c1 100644 --- a/branch.c +++ b/branch.c @@ -1,5 +1,6 @@ #include "git-compat-util.h" #include "cache.h" +#include "advice.h" #include "config.h" #include "branch.h" #include "environment.h" diff --git a/builtin/add.c b/builtin/add.c index f12054d9be1..d3c51e28142 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -5,6 +5,7 @@ */ #define USE_THE_INDEX_VARIABLE #include "cache.h" +#include "advice.h" #include "config.h" #include "builtin.h" #include "lockfile.h" diff --git a/builtin/am.c b/builtin/am.c index cd1e20f24e5..8d876f31546 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -6,6 +6,7 @@ #define USE_THE_INDEX_VARIABLE #include "cache.h" #include "abspath.h" +#include "advice.h" #include "config.h" #include "builtin.h" #include "environment.h" diff --git a/builtin/clone.c b/builtin/clone.c index c171def1f3e..f1e8aa3f27e 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -11,6 +11,7 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" #include "abspath.h" +#include "advice.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/builtin/commit.c b/builtin/commit.c index 9d8e1ea91a3..b09017e04f9 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -7,6 +7,7 @@ #define USE_THE_INDEX_VARIABLE #include "cache.h" +#include "advice.h" #include "config.h" #include "lockfile.h" #include "cache-tree.h" diff --git a/builtin/fetch.c b/builtin/fetch.c index ffe0e214592..f2b80987751 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -2,6 +2,7 @@ * "git fetch" */ #include "cache.h" +#include "advice.h" #include "config.h" #include "gettext.h" #include "environment.h" diff --git a/builtin/merge-recursive.c b/builtin/merge-recursive.c index 8ea9dc78aa1..25f42f2be7e 100644 --- a/builtin/merge-recursive.c +++ b/builtin/merge-recursive.c @@ -1,5 +1,6 @@ #include "cache.h" #include "builtin.h" +#include "advice.h" #include "commit.h" #include "gettext.h" #include "tag.h" diff --git a/builtin/merge.c b/builtin/merge.c index a99be9610e9..225b7064066 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -9,6 +9,7 @@ #define USE_THE_INDEX_VARIABLE #include "cache.h" #include "abspath.h" +#include "advice.h" #include "alloc.h" #include "config.h" #include "environment.h" diff --git a/builtin/mv.c b/builtin/mv.c index b7c5ffbd8c7..8f7770aa32b 100644 --- a/builtin/mv.c +++ b/builtin/mv.c @@ -6,6 +6,7 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" #include "abspath.h" +#include "advice.h" #include "alloc.h" #include "config.h" #include "environment.h" diff --git a/builtin/pull.c b/builtin/pull.c index 5405d09f22f..636ce12c94d 100644 --- a/builtin/pull.c +++ b/builtin/pull.c @@ -7,6 +7,7 @@ */ #define USE_THE_INDEX_VARIABLE #include "cache.h" +#include "advice.h" #include "config.h" #include "builtin.h" #include "gettext.h" diff --git a/builtin/push.c b/builtin/push.c index a99ba38a368..6001e4ae0a4 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -2,6 +2,7 @@ * "git push" */ #include "cache.h" +#include "advice.h" #include "branch.h" #include "config.h" #include "environment.h" diff --git a/builtin/reset.c b/builtin/reset.c index 4d639ec6b37..d8c52cc6edf 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -9,6 +9,7 @@ */ #define USE_THE_INDEX_VARIABLE #include "builtin.h" +#include "advice.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/builtin/tag.c b/builtin/tag.c index bfd51389571..3e801f54a07 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -7,6 +7,7 @@ */ #include "cache.h" +#include "advice.h" #include "config.h" #include "builtin.h" #include "environment.h" diff --git a/cache.h b/cache.h index c8ae80fded3..d9ca2688d8c 100644 --- a/cache.h +++ b/cache.h @@ -5,7 +5,6 @@ #include "strbuf.h" #include "hashmap.h" #include "list.h" -#include "advice.h" #include "gettext.h" #include "convert.h" #include "string-list.h" diff --git a/config.c b/config.c index e5c2e477319..3cee6538f3f 100644 --- a/config.c +++ b/config.c @@ -7,6 +7,7 @@ */ #include "cache.h" #include "abspath.h" +#include "advice.h" #include "alloc.h" #include "date.h" #include "branch.h" diff --git a/convert.c b/convert.c index 126036ec330..59127706448 100644 --- a/convert.c +++ b/convert.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "advice.h" #include "config.h" #include "gettext.h" #include "hex.h" diff --git a/editor.c b/editor.c index d632d790660..3bea3ef72f7 100644 --- a/editor.c +++ b/editor.c @@ -1,5 +1,6 @@ #include "cache.h" #include "abspath.h" +#include "advice.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/notes-merge.c b/notes-merge.c index 19405ec71ac..0258f87d21f 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "advice.h" #include "commit.h" #include "gettext.h" #include "refs.h" diff --git a/object-name.c b/object-name.c index 53f9d359ee8..ff647d6c7b5 100644 --- a/object-name.c +++ b/object-name.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "advice.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/refs.c b/refs.c index 0f369dbde7a..cfced6f174a 100644 --- a/refs.c +++ b/refs.c @@ -3,6 +3,7 @@ */ #include "cache.h" +#include "advice.h" #include "alloc.h" #include "config.h" #include "environment.h" diff --git a/sequencer.c b/sequencer.c index 1a315ac13c9..eaba379e3ad 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1,5 +1,6 @@ #include "cache.h" #include "abspath.h" +#include "advice.h" #include "alloc.h" #include "config.h" #include "environment.h" diff --git a/transport.c b/transport.c index 11b38d16dcf..82bf2496ba7 100644 --- a/transport.c +++ b/transport.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "advice.h" #include "alloc.h" #include "config.h" #include "environment.h" diff --git a/unpack-trees.c b/unpack-trees.c index d41489b4adb..c6de2ca5a7e 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "advice.h" #include "strvec.h" #include "repository.h" #include "config.h" diff --git a/wt-status.c b/wt-status.c index ccbfd9cc6de..47f223c0f8d 100644 --- a/wt-status.c +++ b/wt-status.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "advice.h" #include "wt-status.h" #include "object.h" #include "dir.h" From patchwork Sat Apr 1 15:10:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197054 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 84429C76196 for ; Sat, 1 Apr 2023 15:10:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230135AbjDAPKt (ORCPT ); Sat, 1 Apr 2023 11:10:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42342 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230095AbjDAPKr (ORCPT ); Sat, 1 Apr 2023 11:10:47 -0400 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AEE6F1D2C6 for ; Sat, 1 Apr 2023 08:10:45 -0700 (PDT) Received: by mail-wm1-x32b.google.com with SMTP id m8so3671573wmq.5 for ; Sat, 01 Apr 2023 08:10:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361844; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=AnADl5qxP5oARf2rWxvJMotWa54UXEQ/45BX0cY3csw=; b=DY26iAyKeWEA28zc6xvzpFLvony0cbq358uhE8PjMNzzAXrfTPwg98wHRSleY7LrSl JZT/ZRwUGXAautYVfbli/1/hsBCUWznV4HPxy7I1oPNRoSx5WVJ8utfT5S9N9jtFeBiZ /wUdbwj5qouanXXhI4sd7QTEOkB6AOVNc5Y7tbifQ5jEl8XCP4KJUa85Py2sCQxNPCNc oDCJ1jWVnKdIpRN6At/3/ouszGFo5b6eXI3YRyoxBQ+rEfcUg17LJorRzsIFddkB9xkJ qKbXHvcCWHqyKha+htPCPeHXeHW97E18YoPIKC8+hpyNf9IntUluSVWC4nhGP6DvzaJj shhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361844; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AnADl5qxP5oARf2rWxvJMotWa54UXEQ/45BX0cY3csw=; b=zYzLHMBmSunu+NWPdCGzmzOvSRcfmNTEODfpuFz6QyMwZuDNs4c+aBdmI/rcJumU6U NEvfja4zH3qBaCTFHTk5ORSsGsLOMz4vbre/fE6R4It0vERvpfUjNLxo7pBMIc/ZK7+Z 4SIyq3zNuryz3lf008oSxEMcL46Uqi5MUQqMyBKPo3+DYoy7FASxjGdofnfNkB5aIWCL +028aRydE62zpSM6M7VHmDcHGXNXYND8WzZ0+QKYH8iOGmX5q9U2JqijMBERNYVX5NLU ao2yayW0gGEQBX8FtCwsQPZRRv9gi6y3kmblOXVv+sJMdFurKjI7dzK9QqfRXg6beyYi UraA== X-Gm-Message-State: AO0yUKVk+LCna9TOtWjzWotDuFT7IStzfjZ2J/jo0DTA3qgDVeUFOkBQ MtThRBBWK4fqH5oWhgwxjLk5pTLVuVc= X-Google-Smtp-Source: AK7set9QTWmAz5mH6Cq3XTxY2+jcRVpuujUa8QtcivI+DoNEvNlN/9uzCc0ciCH2zYJfqH8/CD8nHA== X-Received: by 2002:a1c:6a05:0:b0:3ee:138f:be54 with SMTP id f5-20020a1c6a05000000b003ee138fbe54mr23616064wmc.3.1680361843898; Sat, 01 Apr 2023 08:10:43 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id bh23-20020a05600c3d1700b003ee9c8cc631sm13102326wmb.23.2023.04.01.08.10.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:43 -0700 (PDT) Message-Id: <4ef4ee9daf31c4d52d43d7ce15b3cb42ce480c25.1680361839.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:16 +0000 Subject: [PATCH 03/24] treewide: be explicit about dependence on convert.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- archive.c | 1 + blame.c | 1 + builtin/cat-file.c | 1 + builtin/ls-files.c | 1 + cache.h | 1 - combine-diff.c | 1 + config.c | 1 + convert.c | 1 + diff.c | 1 + dir.c | 1 + environment.c | 1 + ll-merge.c | 1 + object-file.c | 1 + streaming.c | 1 + unpack-trees.h | 1 + 15 files changed, 14 insertions(+), 1 deletion(-) diff --git a/archive.c b/archive.c index f1b8e9ce486..ab8966d73a5 100644 --- a/archive.c +++ b/archive.c @@ -2,6 +2,7 @@ #include "abspath.h" #include "alloc.h" #include "config.h" +#include "convert.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/blame.c b/blame.c index 3455f6a5ea3..ff2a6c49125 100644 --- a/blame.c +++ b/blame.c @@ -3,6 +3,7 @@ #include "object-store.h" #include "cache-tree.h" #include "mergesort.h" +#include "convert.h" #include "diff.h" #include "diffcore.h" #include "gettext.h" diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 04d4bb6c777..1e4b4798f40 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -7,6 +7,7 @@ #include "cache.h" #include "alloc.h" #include "config.h" +#include "convert.h" #include "builtin.h" #include "diff.h" #include "environment.h" diff --git a/builtin/ls-files.c b/builtin/ls-files.c index 68532f3e51a..7f228353feb 100644 --- a/builtin/ls-files.c +++ b/builtin/ls-files.c @@ -8,6 +8,7 @@ #include "cache.h" #include "repository.h" #include "config.h" +#include "convert.h" #include "quote.h" #include "dir.h" #include "builtin.h" diff --git a/cache.h b/cache.h index d9ca2688d8c..415f0f85670 100644 --- a/cache.h +++ b/cache.h @@ -6,7 +6,6 @@ #include "hashmap.h" #include "list.h" #include "gettext.h" -#include "convert.h" #include "string-list.h" #include "pack-revindex.h" #include "hash.h" diff --git a/combine-diff.c b/combine-diff.c index 44ef6a1a812..6586e4508d6 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -1,6 +1,7 @@ #include "cache.h" #include "object-store.h" #include "commit.h" +#include "convert.h" #include "blob.h" #include "diff.h" #include "diffcore.h" diff --git a/config.c b/config.c index 3cee6538f3f..9e74b5aec7f 100644 --- a/config.c +++ b/config.c @@ -12,6 +12,7 @@ #include "date.h" #include "branch.h" #include "config.h" +#include "convert.h" #include "environment.h" #include "gettext.h" #include "ident.h" diff --git a/convert.c b/convert.c index 59127706448..5a2ea5308d6 100644 --- a/convert.c +++ b/convert.c @@ -1,6 +1,7 @@ #include "cache.h" #include "advice.h" #include "config.h" +#include "convert.h" #include "gettext.h" #include "hex.h" #include "object-store.h" diff --git a/diff.c b/diff.c index e55a015cfd0..47c1973a504 100644 --- a/diff.c +++ b/diff.c @@ -5,6 +5,7 @@ #include "abspath.h" #include "alloc.h" #include "config.h" +#include "convert.h" #include "environment.h" #include "gettext.h" #include "tempfile.h" diff --git a/dir.c b/dir.c index 10f6c38b930..d1f1b1ef768 100644 --- a/dir.c +++ b/dir.c @@ -9,6 +9,7 @@ #include "abspath.h" #include "alloc.h" #include "config.h" +#include "convert.h" #include "dir.h" #include "environment.h" #include "gettext.h" diff --git a/environment.c b/environment.c index 2254595e4a8..e57292eccc9 100644 --- a/environment.c +++ b/environment.c @@ -10,6 +10,7 @@ #include "cache.h" #include "abspath.h" #include "branch.h" +#include "convert.h" #include "environment.h" #include "gettext.h" #include "repository.h" diff --git a/ll-merge.c b/ll-merge.c index 8be38d3bd41..28bc94c45d6 100644 --- a/ll-merge.c +++ b/ll-merge.c @@ -6,6 +6,7 @@ #include "cache.h" #include "config.h" +#include "convert.h" #include "attr.h" #include "xdiff-interface.h" #include "run-command.h" diff --git a/object-file.c b/object-file.c index 76b22ca75cd..a4331e0da61 100644 --- a/object-file.c +++ b/object-file.c @@ -10,6 +10,7 @@ #include "abspath.h" #include "alloc.h" #include "config.h" +#include "convert.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/streaming.c b/streaming.c index 024fd796b7d..27e014d8b23 100644 --- a/streaming.c +++ b/streaming.c @@ -2,6 +2,7 @@ * Copyright (c) 2011, Google Inc. */ #include "cache.h" +#include "convert.h" #include "environment.h" #include "streaming.h" #include "repository.h" diff --git a/unpack-trees.h b/unpack-trees.h index 61c06eb7c50..30622aeebff 100644 --- a/unpack-trees.h +++ b/unpack-trees.h @@ -2,6 +2,7 @@ #define UNPACK_TREES_H #include "cache.h" +#include "convert.h" #include "strvec.h" #include "string-list.h" #include "tree-walk.h" From patchwork Sat Apr 1 15:10:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197057 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EC219C761AF for ; Sat, 1 Apr 2023 15:10:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229569AbjDAPK5 (ORCPT ); Sat, 1 Apr 2023 11:10:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42384 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230129AbjDAPKs (ORCPT ); Sat, 1 Apr 2023 11:10:48 -0400 Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A2ED311EA0 for ; Sat, 1 Apr 2023 08:10:46 -0700 (PDT) Received: by mail-wm1-x32f.google.com with SMTP id n10-20020a05600c4f8a00b003ee93d2c914so16805666wmq.2 for ; Sat, 01 Apr 2023 08:10:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361844; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=CL1v2YjUjOWVwiEqFxVI69kg4JImA9WN+JwcnhEeOJY=; b=bESJ9JRD5aX1+CXZby00cDiUkL5Gsmgt1JF4CEOXkZ2ybkh34Y5FObEvQsJMNOlilN SQDbfHkb9lyDKX43oDcEOlT24Y1TgHvrsIxLPAvUpyUXklAXWyAn/dNZrQyW+wLuO2+T 17hbS8Ud72Nd7Ad1HxHApdu8MQ4EbTMcwu7DVp4zyr0HYr8JxzsNd9lKkwF0x8dst3VK hO/mnH1q+LLu3BsvUTCLVvRWBQbpnpKJNpolR5MjiYqLir/AOTBMPwQZ9dKFG+vRp+n/ kN0p6xyXiBrvqKquwDM10B66HBAc/nbgT8E6CbS8rHNLAqWvtJyibAamIZDX2V0rHdKH JxGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361844; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CL1v2YjUjOWVwiEqFxVI69kg4JImA9WN+JwcnhEeOJY=; b=IJ892c/Ot8jh+t2uZ3QjIv7Rz7WqOJ5T44Q7Z3pmzNPo4hvKnbbOjT0zDxClHK7nov UkvWwore2+WrJHXAxpCV04UgN2mLn3qGAunuT0UoXf8PDWfNjLbjR7vtOtXPgOvQkk39 NkT8ox/d+wy+kIbtEItFMsYuNaDdB1UQl8AyGsbldF87C3d3jzfNDDoJpX7iDw6AQ/x5 qkEEcB4SAcKBf2Pc2oh8XGAtkV+3jyjSOTmIiMWpquUePBKfVHq6v+820qQgNYKQ3HKt ue3icPeLkjf58nkIgMrZ7RMpuYCzZ8BHrUFH9A2DwmGYY9yIO8IWVWXm+8JH82EG9Dux HwJg== X-Gm-Message-State: AAQBX9dpT/izG/wjUUwXf6yMyKF03EhoENBGoyzw5zgDN/k0aS4FHGlG GAaWcU9BN99xb5HAKxGJ7sdF2673Ewc= X-Google-Smtp-Source: AKy350ZipIxsS2wmVZmBmlJ6GD9It5R2/KsFfoSWuymZfCzo2xjvHIZymVrkGk71HGrZXJrYhIVyqw== X-Received: by 2002:a7b:ce83:0:b0:3f0:4428:9445 with SMTP id q3-20020a7bce83000000b003f044289445mr4062468wmj.14.1680361844592; Sat, 01 Apr 2023 08:10:44 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id q13-20020a7bce8d000000b003ef71d541cbsm6348261wmj.1.2023.04.01.08.10.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:44 -0700 (PDT) Message-Id: <86b47be1776a24b3a1d1f83e8658ec4199c44665.1680361839.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:17 +0000 Subject: [PATCH 04/24] treewide: be explicit about dependence on pack-revindex.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- builtin/index-pack.c | 1 + cache.h | 1 - pack-write.c | 1 + packfile.c | 1 + 4 files changed, 3 insertions(+), 1 deletion(-) diff --git a/builtin/index-pack.c b/builtin/index-pack.c index b17e79cd40f..ceb0f120ede 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -17,6 +17,7 @@ #include "streaming.h" #include "thread-utils.h" #include "packfile.h" +#include "pack-revindex.h" #include "object-store.h" #include "replace-object.h" #include "promisor-remote.h" diff --git a/cache.h b/cache.h index 415f0f85670..5f1279454a8 100644 --- a/cache.h +++ b/cache.h @@ -7,7 +7,6 @@ #include "list.h" #include "gettext.h" #include "string-list.h" -#include "pack-revindex.h" #include "hash.h" #include "path.h" #include "pathspec.h" diff --git a/pack-write.c b/pack-write.c index f1714054951..152c14aa7aa 100644 --- a/pack-write.c +++ b/pack-write.c @@ -9,6 +9,7 @@ #include "pack-mtimes.h" #include "oidmap.h" #include "pack-objects.h" +#include "pack-revindex.h" void reset_pack_idx_option(struct pack_idx_option *opts) { diff --git a/packfile.c b/packfile.c index 2d3dabb1aee..02afbe77137 100644 --- a/packfile.c +++ b/packfile.c @@ -21,6 +21,7 @@ #include "object-store.h" #include "midx.h" #include "commit-graph.h" +#include "pack-revindex.h" #include "promisor-remote.h" #include "wrapper.h" From patchwork Sat Apr 1 15:10:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197058 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 88C8CC76196 for ; Sat, 1 Apr 2023 15:11:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230176AbjDAPK7 (ORCPT ); Sat, 1 Apr 2023 11:10:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42404 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230131AbjDAPKs (ORCPT ); Sat, 1 Apr 2023 11:10:48 -0400 Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 04C1E1D2DC for ; Sat, 1 Apr 2023 08:10:46 -0700 (PDT) Received: by mail-wm1-x336.google.com with SMTP id s13so14564206wmr.4 for ; Sat, 01 Apr 2023 08:10:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361845; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=uubwnAxTanaMxF9LO+ZNSELJoo7B/YYCOGh0zo53IBQ=; b=AxOKJUmzEiifrnlFYeAJA7dUc73ysvFPpPflVKfNzBtd8FYD4jRZt9KmBk6oYDrK3Q YddAmZXPNRs17UGJU/Ov4w8DOccYfZ+/3QM3Xsezmv4TQw2F65DJ01PtcUTEsdYxz1mV ZKdwf46mrPYbL6K+7qAHlJ5OA8Vo8l0iq3X8mMJVMj1+N5jfTDioRimKctAsrCQGptgu yV0ZlAZLqngRAWzgY1UvbO8NuZPl6LMA3BdYHSK/PUg4D505+9iMgTPaJMH6ewe12JkP sP0JyF5VdD1tNlWkuewAKfLcmBZQukBh5dOAzTWjGBrKOKusxIWdhknb2eFF8Fmf18YL ifZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361845; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uubwnAxTanaMxF9LO+ZNSELJoo7B/YYCOGh0zo53IBQ=; b=VXFQ7wbeRcfhfw41iqmO8WCScbqX/CPXPv8Uh1hvK8rfee4CeKNA/zHWknGV/ee78U p3lDnCPkP9k4w/tF0X6FIM1ZCPRkieDWL2N9cLAgWuZJYN+o0LsKfuh+XkGsQ1g2qw2Y NPph+KUY3/qGB0D5PbZ+ghkTsjs/rs7Wo8CXT54kGnW6+iqSkh1vaD7LQYc0kB5RVM6m BfooVjic9wHeBGoE0e3BiZilfElt/yRS1LmCylbCb0LMM6hFSn7gI9M3WRP3UATyfltq kerrUS03D19SOUUdADM1XTLxhAV/RoYWpJXCHQjOqoSmSE53cnf8Y72kSJf22vVCTO4u AqGQ== X-Gm-Message-State: AO0yUKVacUUwuJOjgQWpTM0qlclzrzB2IHKBekNZA/iLGgQrMyD5GPQm CvK+6qPZLJZxGbinNbssE1eLB6gtWHc= X-Google-Smtp-Source: AK7set8qB/1tYu9oOo1zzXrDruKtAi9G63I6ZTqeQGYfNHjhrjbNys9n2IjOyNb35PvJXeDeIzQrOQ== X-Received: by 2002:a7b:c8c4:0:b0:3ed:ce6f:e86e with SMTP id f4-20020a7bc8c4000000b003edce6fe86emr23343302wml.23.1680361845317; Sat, 01 Apr 2023 08:10:45 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id w20-20020a05600c475400b003f034c76e85sm10431028wmo.38.2023.04.01.08.10.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:45 -0700 (PDT) Message-Id: <81a9378be43243c063430d6e23b6a0f28dae5d40.1680361839.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:18 +0000 Subject: [PATCH 05/24] treewide: be explicit about dependence on oid-array.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- builtin/bisect.c | 1 + builtin/fetch.c | 1 + builtin/index-pack.c | 1 + builtin/log.c | 1 + cache.h | 1 - commit-graph.c | 1 + diff.c | 1 + merge-ort.c | 1 + read-cache.c | 1 + ref-filter.c | 1 + upload-pack.c | 1 + 11 files changed, 10 insertions(+), 1 deletion(-) diff --git a/builtin/bisect.c b/builtin/bisect.c index 26f07357a03..7dc175c6570 100644 --- a/builtin/bisect.c +++ b/builtin/bisect.c @@ -9,6 +9,7 @@ #include "dir.h" #include "strvec.h" #include "run-command.h" +#include "oid-array.h" #include "prompt.h" #include "quote.h" #include "revision.h" diff --git a/builtin/fetch.c b/builtin/fetch.c index f2b80987751..e0936629213 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -12,6 +12,7 @@ #include "refspec.h" #include "object-store.h" #include "oidset.h" +#include "oid-array.h" #include "commit.h" #include "builtin.h" #include "string-list.h" diff --git a/builtin/index-pack.c b/builtin/index-pack.c index ceb0f120ede..5adfb2521cd 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -19,6 +19,7 @@ #include "packfile.h" #include "pack-revindex.h" #include "object-store.h" +#include "oid-array.h" #include "replace-object.h" #include "promisor-remote.h" #include "setup.h" diff --git a/builtin/log.c b/builtin/log.c index 2ce645eee97..094897df236 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -20,6 +20,7 @@ #include "revision.h" #include "log-tree.h" #include "builtin.h" +#include "oid-array.h" #include "tag.h" #include "reflog-walk.h" #include "patch-ids.h" diff --git a/cache.h b/cache.h index 5f1279454a8..6eac3134a22 100644 --- a/cache.h +++ b/cache.h @@ -11,7 +11,6 @@ #include "path.h" #include "pathspec.h" #include "object.h" -#include "oid-array.h" #include "repository.h" #include "statinfo.h" #include "mem-pool.h" diff --git a/commit-graph.c b/commit-graph.c index 1bf673b1345..fe9a8b2342f 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -12,6 +12,7 @@ #include "hash-lookup.h" #include "commit-graph.h" #include "object-store.h" +#include "oid-array.h" #include "alloc.h" #include "hashmap.h" #include "replace-object.h" diff --git a/diff.c b/diff.c index 47c1973a504..89cd0b17da5 100644 --- a/diff.c +++ b/diff.c @@ -29,6 +29,7 @@ #include "string-list.h" #include "strvec.h" #include "graph.h" +#include "oid-array.h" #include "packfile.h" #include "parse-options.h" #include "help.h" diff --git a/merge-ort.c b/merge-ort.c index ad7367179d9..9b0b184b130 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -32,6 +32,7 @@ #include "entry.h" #include "ll-merge.h" #include "object-store.h" +#include "oid-array.h" #include "promisor-remote.h" #include "revision.h" #include "strmap.h" diff --git a/read-cache.c b/read-cache.c index a744eb89e4e..1b585ce8424 100644 --- a/read-cache.c +++ b/read-cache.c @@ -15,6 +15,7 @@ #include "refs.h" #include "dir.h" #include "object-store.h" +#include "oid-array.h" #include "tree.h" #include "commit.h" #include "blob.h" diff --git a/ref-filter.c b/ref-filter.c index df84bb71643..1c6174c8aed 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -7,6 +7,7 @@ #include "refs.h" #include "wildmatch.h" #include "object-store.h" +#include "oid-array.h" #include "repository.h" #include "commit.h" #include "remote.h" diff --git a/upload-pack.c b/upload-pack.c index 71440c63806..e17545a834a 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -8,6 +8,7 @@ #include "sideband.h" #include "repository.h" #include "object-store.h" +#include "oid-array.h" #include "tag.h" #include "object.h" #include "commit.h" From patchwork Sat Apr 1 15:10:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197059 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 074F9C6FD1D for ; Sat, 1 Apr 2023 15:11:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229825AbjDAPLB (ORCPT ); Sat, 1 Apr 2023 11:11:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42416 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230139AbjDAPKu (ORCPT ); Sat, 1 Apr 2023 11:10:50 -0400 Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 85DD91D84C for ; Sat, 1 Apr 2023 08:10:47 -0700 (PDT) Received: by mail-wm1-x32d.google.com with SMTP id r19-20020a05600c459300b003eb3e2a5e7bso15594615wmo.0 for ; Sat, 01 Apr 2023 08:10:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361846; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=K6y+k8VfS2an6jpSvwaHUqvn8TONlJuNwEq0tO3ku+A=; b=CRpaWXfQvXotTCEIPKV2T5ztZMgEsAs6mCr/qcztpEid9mS8RGRTDS/ZeXxmF+JeuW bapmj7a6vOll4hoxQBhaXxykkMN6oEW5M8NpKbLXT9931VPqsDLwYKdHNY4/k6a1hJ7Z XIG5/P+nHPQ8yuzFoZ6W/Z7xmo5LQAL2exvARv2AGFsD7+4xfMYuqlAza+F9hx51IRri E4ztqTsjiAK7KaGsvUJJtDIHX2k+6Mvfzvvhy+ERAXon+/tZg1JdfCRjHdUphlqc5Lbm XF/kRPMvBImJ3pEcQ0toyBCovgCQXMAjqM02AslKCA1nm7B3lIrW71UQsIK1Bz/Gt/jj EPtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361846; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K6y+k8VfS2an6jpSvwaHUqvn8TONlJuNwEq0tO3ku+A=; b=Ik7l3JunTGWd1Wf+SvO+xGH9ENN8vs2gGqWdwErWEi5PqbVmog5wH+kbxOLvnjtp5D z1dI8OZZTA+0csiZXwUODY7JgwbRIB2JMjhmqMeLd8Hnb0gpirsPxS/BXZxtZIn7eZX9 5PhdDdBEBkpqSYOVeTxNENxLP3Dqlxee6F10AD5p/AS/meCFRIPp2eukhNW1y+nFy3Pk OsNwKOEqxb1A+D2vt5tabnKqhj3UuB4PhYFIhdbIJJDynmbh9YJnyrEDPaAh6CsioypZ ekf85SoZ+TptEwKyfYnkymh/zEsTkWzyo2Xw9FbkxvzyQLgVzt6phbb+y29sSFvkixua mVZA== X-Gm-Message-State: AAQBX9erSyWeBnWElSew2GS9I8igs4GYk0tXbAFgmLUK7zOulYUAFV6x B4GJ9Cby1zak3vt7EN8YO4ERsVALThc= X-Google-Smtp-Source: AKy350Z9FaqbAQ+HDRT+KgoeIncuo+eCrKO1Q+m8X8GhFZFOZd88yqqK5lh3yDzhHGTFePdtqpHJYw== X-Received: by 2002:a1c:7714:0:b0:3ed:ea48:cd92 with SMTP id t20-20020a1c7714000000b003edea48cd92mr16577723wmi.15.1680361845896; Sat, 01 Apr 2023 08:10:45 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id m26-20020a05600c3b1a00b003ede2c4701dsm13550585wms.14.2023.04.01.08.10.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:45 -0700 (PDT) Message-Id: In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:19 +0000 Subject: [PATCH 06/24] treewide: be explicit about dependence on mem-pool.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- builtin/checkout.c | 1 + cache.h | 1 - merge-ort.c | 1 + read-cache.c | 1 + split-index.c | 1 + t/helper/test-mergesort.c | 1 + 6 files changed, 5 insertions(+), 1 deletion(-) diff --git a/builtin/checkout.c b/builtin/checkout.c index 422ea768404..65988fd8a3b 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -15,6 +15,7 @@ #include "hook.h" #include "ll-merge.h" #include "lockfile.h" +#include "mem-pool.h" #include "merge-recursive.h" #include "object-store.h" #include "parse-options.h" diff --git a/cache.h b/cache.h index 6eac3134a22..66705dd469e 100644 --- a/cache.h +++ b/cache.h @@ -13,7 +13,6 @@ #include "object.h" #include "repository.h" #include "statinfo.h" -#include "mem-pool.h" typedef struct git_zstream { z_stream z; diff --git a/merge-ort.c b/merge-ort.c index 9b0b184b130..1008684fbbc 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -31,6 +31,7 @@ #include "hex.h" #include "entry.h" #include "ll-merge.h" +#include "mem-pool.h" #include "object-store.h" #include "oid-array.h" #include "promisor-remote.h" diff --git a/read-cache.c b/read-cache.c index 1b585ce8424..4ada6d62b90 100644 --- a/read-cache.c +++ b/read-cache.c @@ -21,6 +21,7 @@ #include "blob.h" #include "environment.h" #include "gettext.h" +#include "mem-pool.h" #include "resolve-undo.h" #include "run-command.h" #include "strbuf.h" diff --git a/split-index.c b/split-index.c index c98807c655b..5602b74994b 100644 --- a/split-index.c +++ b/split-index.c @@ -1,6 +1,7 @@ #include "cache.h" #include "alloc.h" #include "gettext.h" +#include "mem-pool.h" #include "split-index.h" #include "ewah/ewok.h" diff --git a/t/helper/test-mergesort.c b/t/helper/test-mergesort.c index 335e5bb3a90..737e0c52358 100644 --- a/t/helper/test-mergesort.c +++ b/t/helper/test-mergesort.c @@ -1,5 +1,6 @@ #include "test-tool.h" #include "cache.h" +#include "mem-pool.h" #include "mergesort.h" static uint32_t minstd_rand(uint32_t *state) From patchwork Sat Apr 1 15:10:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197061 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 31C69C6FD1D for ; Sat, 1 Apr 2023 15:11:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230088AbjDAPLF (ORCPT ); Sat, 1 Apr 2023 11:11:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42582 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229379AbjDAPKw (ORCPT ); Sat, 1 Apr 2023 11:10:52 -0400 Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45CEC1F7B2 for ; Sat, 1 Apr 2023 08:10:48 -0700 (PDT) Received: by mail-wm1-x331.google.com with SMTP id o32so14578652wms.1 for ; Sat, 01 Apr 2023 08:10:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361846; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=0ipHwAmtn8xKMpsfY5sEo8iqzC7xjIdi7/Wr/PXcOaM=; b=cFtnNHbmWiymoaIiD7IGqiZmq49LtH9fSlWlsqvmOKRk5FtxAtS7LieFwdZx3HxvT9 hC1FHVIzOHxma/YHTJJzrEOiL5F9s9oUgGX4c4C7DNxonFAV3rTiNZs0oVQGpswlR2b+ R4vAaHY1qxrZrTfbmas5BU5ps9IoSkNU8kukI2RHl+XYVy1MluDfuwIrG5GExQyOg5As 94Gx17gHdYCaisKJYCERWRfSTaF16rxZvAd3FL1e04in3ejq0YERA27vnr26Z2M5bfhU wmqUICjyawo+ay1aqD5aKAAcTLRgDk/yZqDEkqLBHrQXkjrAHXz4USo3pTvVNlF7WRKa rROw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361846; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0ipHwAmtn8xKMpsfY5sEo8iqzC7xjIdi7/Wr/PXcOaM=; b=5A5ptr4zqAuaB7iEMoqwx+JsjL+D21KzlQZvpklUv9vkvTCJh0VGqPv2uXhzyYxdSR bp+i4116Ib8Q0reXFQgsFcIFNItw19ejk5qoXRLW/DpgyT5x+Uc78LGhzDm+trDMkBbP fR46NIGvj4ZkWJGgI7A2va0Q3jAwUczuQSIMuQMAZaYo9XYq4iL4HO8hCeFQOP1ZBWXH HPbkRaYO9jWpyQd56zJNSdP0F5sfaszKFoLqt7wwXEcR6MCvkg6aF79lrgb2jZlioItE xxCFeDyIYC+vZLdCNwlYy1naro2Fl9dFuE+WajPyKTjZsPvnsC7/N11TICYxiOl8GOjM sj/g== X-Gm-Message-State: AO0yUKVx6zLYxbXsG3LJLoYLqYDa05N2aI5Tlj/nmOj8HvwCBL73NWLy TsfmEwLwYwQO5vCpJQK5idefEmCub34= X-Google-Smtp-Source: AK7set8DXY+PbfxQhTBRuvUwTJ6y4yZ67uFLf6a+pkDj/khhiouAjzF2qnT5M1rhs/WBiw8l1xqr9w== X-Received: by 2002:a05:600c:548d:b0:3ee:c06:e942 with SMTP id iv13-20020a05600c548d00b003ee0c06e942mr22407389wmb.25.1680361846466; Sat, 01 Apr 2023 08:10:46 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id a5-20020adffb85000000b002c794495f6fsm5068131wrr.117.2023.04.01.08.10.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:46 -0700 (PDT) Message-Id: <22709819107ef71dd4ad8efa7b3376772d0eb84c.1680361839.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:20 +0000 Subject: [PATCH 07/24] treewide: remove unnecessary cache.h inclusion Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Several files were including cache.h solely to get other headers, such as trace.h and trace2.h. Since the last few commits have modified files to make these dependencies more explicit, the inclusion of cache.h is no longer needed in several cases. Remove it. Signed-off-by: Elijah Newren --- compat/simple-ipc/ipc-unix-socket.c | 2 +- connect.c | 2 +- fetch-pack.c | 2 +- pack-write.c | 2 +- promisor-remote.c | 2 +- protocol.c | 2 +- scalar.c | 2 +- t/helper/test-date.c | 1 - trace.c | 2 +- upload-pack.c | 2 +- 10 files changed, 9 insertions(+), 10 deletions(-) diff --git a/compat/simple-ipc/ipc-unix-socket.c b/compat/simple-ipc/ipc-unix-socket.c index 7064475b39f..b2f4f22ce44 100644 --- a/compat/simple-ipc/ipc-unix-socket.c +++ b/compat/simple-ipc/ipc-unix-socket.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "gettext.h" #include "simple-ipc.h" #include "strbuf.h" diff --git a/connect.c b/connect.c index 929f72ec5d7..cf4dd3084e0 100644 --- a/connect.c +++ b/connect.c @@ -1,5 +1,5 @@ #include "git-compat-util.h" -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/fetch-pack.c b/fetch-pack.c index 7d4f190fb1d..677102465a1 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "repository.h" #include "config.h" diff --git a/pack-write.c b/pack-write.c index 152c14aa7aa..d9b460fab4c 100644 --- a/pack-write.c +++ b/pack-write.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/promisor-remote.c b/promisor-remote.c index 9d83d2f4b9c..1adcd6fb0a5 100644 --- a/promisor-remote.c +++ b/promisor-remote.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "gettext.h" #include "hex.h" #include "object-store.h" diff --git a/protocol.c b/protocol.c index 4d8eb887e82..079ba75acf4 100644 --- a/protocol.c +++ b/protocol.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "environment.h" #include "protocol.h" diff --git a/scalar.c b/scalar.c index f7680463e1b..af64f75ca66 100644 --- a/scalar.c +++ b/scalar.c @@ -2,7 +2,7 @@ * The Scalar command-line interface. */ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "gettext.h" #include "parse-options.h" diff --git a/t/helper/test-date.c b/t/helper/test-date.c index a01eec99f35..7adadd41e0b 100644 --- a/t/helper/test-date.c +++ b/t/helper/test-date.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "cache.h" #include "date.h" #include "trace.h" diff --git a/trace.c b/trace.c index d8eaa0a786a..592c141d785 100644 --- a/trace.c +++ b/trace.c @@ -21,7 +21,7 @@ * along with this program; if not, see . */ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "environment.h" #include "quote.h" diff --git a/upload-pack.c b/upload-pack.c index e17545a834a..0305fb2fbdc 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "environment.h" #include "gettext.h" From patchwork Sat Apr 1 15:10:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197066 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B8279C6FD1D for ; Sat, 1 Apr 2023 15:11:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230158AbjDAPLM (ORCPT ); Sat, 1 Apr 2023 11:11:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230153AbjDAPKz (ORCPT ); Sat, 1 Apr 2023 11:10:55 -0400 Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 27A8D1FD15 for ; Sat, 1 Apr 2023 08:10:49 -0700 (PDT) Received: by mail-wm1-x331.google.com with SMTP id v6-20020a05600c470600b003f034269c96so5348146wmo.4 for ; Sat, 01 Apr 2023 08:10:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361847; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=Xrf/NwxaUG3/t75Tte5zp+av0w4XC24ysDDnwn4UyYg=; b=Yq7tfjHChqX44GzbjwWL28LAygLsCLJAfE47bGH4BIcc/sehamcyDJu5vjHbi6I+OV aTWJYn10a2BTtu/46hPsbiwEnG00BSk262ITMf3AK96B24A2xHbHgD2ALrLVWzac0qBD 24POLSxqG5Jd3jGxsFoDhpJnnzZA6L+4frdRu4XLigOrC809KC9ZSJfB7QGWz8THRX72 4SaF8UVu59IPIIwNtal8l/eB63cKL23qHbbBpue80Z0u6/lfMgA2cWxduykmevgYGY5X GPc1nPUeTZKIF7gYNXtCAaIvv+jSY6vAsmrP8FblefSymg7aV3lBBwjDG1/hREqTYffC PWmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361847; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Xrf/NwxaUG3/t75Tte5zp+av0w4XC24ysDDnwn4UyYg=; b=6ANrgQnEHQgku11i1b/WRGz/iCc2tOvcMxuSbdZ4dBGA8gSewNwHc3ZtlBPLyw5WM0 UI2WwxJ8dVRUGeGwrFZ00AwDMV6NgR5hqzKsGcA4PJP+Pf8L/W30aEARcbGA6AjsopIn wEPm5ZKmBurYixbf4q5o54bu2P0DgdqOvj4Fw1RfroIEXf31KbhGuwo6j5rIdt047m8r QBfHSbSn0vvb5nmpVwERyNkgQieNAJ9RiNgtjA5VMB9lQ+5wqpdzDigwv84q6kvERApa 4XFd3dZWsQBOdyWtHQAtutop5INcSU/pwX4qaJ9CUV5L3x7fedLAnj/pWWcZjiMRtjxl N/qg== X-Gm-Message-State: AAQBX9egpZyyCV4we30DXKIcFcp/A0vfX3/wLNc9N4zjt8qv8/8d9O9Y hLH9HOu1JvMA5Zc41/HfvfhkCyQQKzk= X-Google-Smtp-Source: AKy350bCv7jMH8ekpCaLo1/KZOcFFPEjTOlQ7vCRfKsF5cKoCYhrgXvMNWmZuigK9GSl85xfEaD4fg== X-Received: by 2002:a7b:c444:0:b0:3ef:72e7:fce2 with SMTP id l4-20020a7bc444000000b003ef72e7fce2mr13583745wmi.17.1680361847128; Sat, 01 Apr 2023 08:10:47 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id fc11-20020a05600c524b00b003ebff290a52sm13533657wmb.28.2023.04.01.08.10.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:46 -0700 (PDT) Message-Id: In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:21 +0000 Subject: [PATCH 08/24] object-name.h: move declarations for object-name.c functions from cache.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- add-patch.c | 1 + apply.c | 1 + archive.h | 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 | 88 ---------------------------- 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 + notes-merge.c | 1 + notes.c | 1 + object-name.c | 1 + object-name.h | 99 ++++++++++++++++++++++++++++++++ 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 + 89 files changed, 186 insertions(+), 88 deletions(-) create mode 100644 object-name.h diff --git a/add-patch.c b/add-patch.c index b381f14a7de..b01ba8fa81d 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 9b7288bc927..7e40f53ec4c 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 7178e2a9a2d..f96839ef383 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/branch.c b/branch.c index 3a087b8b4c1..f29743b1619 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 8d876f31546..0d7ee28bddc 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 7dc175c6570..4b2143d4557 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 a8d2114adc9..a628388c2ce 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 5706eb00974..7c1c872708f 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 1e4b4798f40..60b7a55dfc1 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 1dbe9d6ca88..037bf1aaa2a 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 65988fd8a3b..6f5d82ed3d3 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 15be167f87a..d1d251c3ded 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 b09017e04f9..682f47c8d5a 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 0125d4ddbac..d360b1d12af 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 68b1a539870..31b8732128d 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 e0936629213..8a8ab6799e8 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 095b39d3980..04bc71d148c 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 a1b68d90bdb..f66e14389e1 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 094897df236..5cdc2276cc4 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 7f228353feb..ce083cb8efd 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 f32e6be2198..077977a4610 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 3f22273b400..854019a32dc 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 25f42f2be7e..fa1035405c3 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 803e380856e..6b9f006ec19 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 225b7064066..693f185d4d3 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 831d360a78a..41fd56b9ba9 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 4ff44f1e3d0..896140b9055 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 5c0952f5c64..09891832fb3 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 636ce12c94d..967368ebc65 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 b72af527f08..04339a92ea5 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 600d4f748fc..d61cbad96de 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 fb859f93a30..ff5dd77608d 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 aa5b6fe861f..7d921170f1c 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 d2adc8ab613..134f738a450 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 d8c52cc6edf..f99f32d5802 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 a3dbbb6338e..c17f0282ae8 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 1af2089f9bd..852e49e3403 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 6be92817429..d36072252e7 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 463a8d11c31..20030b75e39 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 138d30a005e..a2243b42195 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 090bf33510a..34b9d92fb13 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 14194b13bd1..6442b5e20a6 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 83377037155..1f087d7bed2 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 3e801f54a07..88a25902309 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 314761b0b4d..21082ceb601 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 3ffd75b3e78..6ca85420c3b 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 4d10aa98b10..5d99b82a64f 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 28d0da68454..c6019a0ad8c 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 944dd40f94d..69132bba319 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 66705dd469e..dfae7d02c55 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 @@ -828,72 +810,6 @@ struct object_context { 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 +823,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 1247b882248..9235073fc0d 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 6586e4508d6..cd5f39f22f4 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 6d844da9a6b..bad31c423a4 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 9e74b5aec7f..aac439530e9 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 8b5cca96ace..d292405a262 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 89cd0b17da5..9e6ad94bc66 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 1886c92ddb9..21019c932b3 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 298ca08711e..8b2a45e507d 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 627c711f707..f0e885635e0 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 14f2c0f62ae..d62d7bf0e7f 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 1008684fbbc..2c6a9ed9a41 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/notes-merge.c b/notes-merge.c index 0258f87d21f..b496b77d9db 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 45fb7f22d1d..c07bcbe3486 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 ff647d6c7b5..3cd5b327293 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 00000000000..65cb9a77b01 --- /dev/null +++ b/object-name.h @@ -0,0 +1,99 @@ +#ifndef OBJECT_NAME_H +#define OBJECT_NAME_H + +#include "object.h" + +struct object_context; +struct object_id; +struct repository; +struct strbuf; + +/* + * 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); +#endif /* OBJECT_NAME_H */ diff --git a/parse-options-cb.c b/parse-options-cb.c index 666c2129797..b4df4bcebed 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 d1ed3b8ee56..a2994331a14 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 4ada6d62b90..cbbfc030da7 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 79ed61b9fa4..48467a7bc4a 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 1c6174c8aed..57a5884aec7 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 cfced6f174a..979ed3fbedc 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 6599d52de20..3afedce593e 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 ab300923e04..48da0adf851 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 7c34c93885e..7438b50e267 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 eaba379e3ad..22b287be984 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 3bb7a9fff62..8a297b3cb5c 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 70a83e7980e..1b93d9d3c47 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 ecf0fcf0074..252b90aa439 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 58c9d5e5673..4f403b9eeff 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 fd48e0ee2c8..d1d63feaa9e 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 7066f3c71d2..3808e1ac38b 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 e2eb25ecdea..bf4fcfe6efb 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 b0deaa106a2..d4fa33ae751 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 66063b58ded..4758c8654e0 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 01ed67d6fa6..b9fc2fc9929 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 76d146ee88b..ca8bec04bb3 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 82bf2496ba7..7374cfd1fa9 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 2b78708766b..e9d51ce2e00 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 47f223c0f8d..97b9c1c0359 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" From patchwork Sat Apr 1 15:10:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197062 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7F018C761AF for ; Sat, 1 Apr 2023 15:11:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230113AbjDAPLH (ORCPT ); Sat, 1 Apr 2023 11:11:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229617AbjDAPKx (ORCPT ); Sat, 1 Apr 2023 11:10:53 -0400 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B27D2030F for ; Sat, 1 Apr 2023 08:10:49 -0700 (PDT) Received: by mail-wm1-x333.google.com with SMTP id o32so14578678wms.1 for ; Sat, 01 Apr 2023 08:10:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361847; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=bGGfEQwV2bWHTq/kbZMbZLX1l6WB5MjGao/dFgmUxRQ=; b=j5vSecn2Za8kQch0zlG5eKLdFgJHYVI3etzHE4eUmxJkCu7gLGcDg/hc+cHxdFSI7p NzHQyoIEsgEL5GsAseAB8p5QJ9TDTeaV936Ao9CFSrBA8lZ/OjDCYlzpScYI5hKxeF4p XimBxGNNMGljCNswjgN6x3I6Sxvjk5NpYBhpQUpw+9LcsHL1kfDADW7/xirS9kIQAqIP isyVpTvTW3LdJ0vxRxAqX0oEOF6U4RmtcsKov1mzZ8nfn2BilZ/GcCdJI6hCBG5n5rNw 9GLpbx9lpKo0wDMnGwqWf6J9ynHh5okqB6ldDBlrVkShrwog38bUtA9JM283h4JglMRX uJWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361847; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bGGfEQwV2bWHTq/kbZMbZLX1l6WB5MjGao/dFgmUxRQ=; b=Lr6MRTkWkg1UFlrq18RVKD+j8SzbUHZTGgu/l2dclxkH5JqAZe1fM82MEqqu8mbjpT eXoeQTIVcAgiovRqBymZA84w8p7ovkfvvPx7DkkL4NIuH3gjL+00kurtN90BrDyeGKw8 v5I0k2DY4Q1W/h1cwuYt8Nctra45KpOFj2MgPwS3y0xM4hSFmUYQR0oJQlVLJfx+i+/K ukB1djN4V4vMXKp+DhL0yIlO4LBzNdvO4barruRGJc1/LQNaI9hSE8vAAnNiX3gvwId+ 8B7CqpkMhKD7Ira/Q3nQ3Z+ev7TCG5rp7lcAHyYZruep39nJLrWIOu2hS3QpNcKylaFk Z3Ww== X-Gm-Message-State: AAQBX9c/mCZsjp4DIgQwbTVXpX0jsIGIDtBFAS75i5Ge8FTjZ0vjpyLE PSbOPDWv7sF9mHetxZ8inXQIJNssMXE= X-Google-Smtp-Source: AKy350aVMoGd0FgcD+g0XO/7XUBBPEi0ObKEiLcQKL8j0cjvXYgMcMIZ2i0LoqoPcjl2AymC34gDzQ== X-Received: by 2002:a7b:c4c3:0:b0:3f0:3d47:2cbe with SMTP id g3-20020a7bc4c3000000b003f03d472cbemr6125874wmk.10.1680361847572; Sat, 01 Apr 2023 08:10:47 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id iv19-20020a05600c549300b003ef69873cf1sm13906089wmb.40.2023.04.01.08.10.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:47 -0700 (PDT) Message-Id: In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:22 +0000 Subject: [PATCH 09/24] treewide: remove cache.h inclusion due to object-name.h changes Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- branch.c | 2 +- checkout.c | 3 ++- fmt-merge-msg.c | 2 +- mailmap.c | 2 +- notes.c | 2 +- refs.c | 2 +- remote.c | 2 +- setup.c | 2 +- strbuf.c | 2 +- t/helper/test-oidmap.c | 1 - t/helper/test-reach.c | 1 - t/helper/test-submodule-config.c | 1 - transport-helper.c | 2 +- 13 files changed, 11 insertions(+), 13 deletions(-) diff --git a/branch.c b/branch.c index f29743b1619..7b71d195dc8 100644 --- a/branch.c +++ b/branch.c @@ -1,5 +1,5 @@ #include "git-compat-util.h" -#include "cache.h" +#include "git-compat-util.h" #include "advice.h" #include "config.h" #include "branch.h" diff --git a/checkout.c b/checkout.c index 9235073fc0d..04238b27133 100644 --- a/checkout.c +++ b/checkout.c @@ -1,9 +1,10 @@ -#include "cache.h" +#include "git-compat-util.h" #include "object-name.h" #include "remote.h" #include "refspec.h" #include "checkout.h" #include "config.h" +#include "strbuf.h" struct tracking_name_data { /* const */ char *src_ref; diff --git a/fmt-merge-msg.c b/fmt-merge-msg.c index 21019c932b3..5af0d4715ba 100644 --- a/fmt-merge-msg.c +++ b/fmt-merge-msg.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "config.h" #include "environment.h" diff --git a/mailmap.c b/mailmap.c index d62d7bf0e7f..28d389c1f94 100644 --- a/mailmap.c +++ b/mailmap.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "environment.h" #include "string-list.h" #include "mailmap.h" diff --git a/notes.c b/notes.c index c07bcbe3486..02f1aa39ae1 100644 --- a/notes.c +++ b/notes.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "environment.h" #include "hex.h" diff --git a/refs.c b/refs.c index 979ed3fbedc..d2a98e1c21f 100644 --- a/refs.c +++ b/refs.c @@ -2,7 +2,7 @@ * The backend-independent part of the reference module. */ -#include "cache.h" +#include "git-compat-util.h" #include "advice.h" #include "alloc.h" #include "config.h" diff --git a/remote.c b/remote.c index 3afedce593e..2947743d60a 100644 --- a/remote.c +++ b/remote.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "alloc.h" #include "config.h" diff --git a/setup.c b/setup.c index 8a297b3cb5c..a546da755f1 100644 --- a/setup.c +++ b/setup.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "environment.h" #include "gettext.h" diff --git a/strbuf.c b/strbuf.c index 1b93d9d3c47..b2e3735ba8a 100644 --- a/strbuf.c +++ b/strbuf.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "alloc.h" #include "environment.h" diff --git a/t/helper/test-oidmap.c b/t/helper/test-oidmap.c index bf4fcfe6efb..de6ab77fdaa 100644 --- a/t/helper/test-oidmap.c +++ b/t/helper/test-oidmap.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "cache.h" #include "hex.h" #include "object-name.h" #include "oidmap.h" diff --git a/t/helper/test-reach.c b/t/helper/test-reach.c index d4fa33ae751..5b6f2174418 100644 --- a/t/helper/test-reach.c +++ b/t/helper/test-reach.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "cache.h" #include "alloc.h" #include "commit.h" #include "commit-reach.h" diff --git a/t/helper/test-submodule-config.c b/t/helper/test-submodule-config.c index 4758c8654e0..c7c7fdbea98 100644 --- a/t/helper/test-submodule-config.c +++ b/t/helper/test-submodule-config.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "cache.h" #include "config.h" #include "object-name.h" #include "setup.h" diff --git a/transport-helper.c b/transport-helper.c index ca8bec04bb3..6b816940dc6 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "transport.h" #include "quote.h" #include "run-command.h" From patchwork Sat Apr 1 15:10:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197060 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 91FB0C76196 for ; Sat, 1 Apr 2023 15:11:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229998AbjDAPLD (ORCPT ); Sat, 1 Apr 2023 11:11:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42584 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229461AbjDAPKw (ORCPT ); Sat, 1 Apr 2023 11:10:52 -0400 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D8BA61D2C6 for ; Sat, 1 Apr 2023 08:10:48 -0700 (PDT) Received: by mail-wm1-x32b.google.com with SMTP id l10-20020a05600c1d0a00b003f04bd3691eso689131wms.5 for ; Sat, 01 Apr 2023 08:10:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361848; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=OysujxAvO1LO+znxhq2cK1zhDT/kwGpupsQNqmo1Vj0=; b=SFdMx0etIQw0ZgkjdFY3qJBc4wjvkxdi43vNq24zNdhYoAB6QLWa2+YztnNXLpi55h L181HIGVRR6GxGAj/eXL8XsKOyaL8+hZOhp2/W91hxzabHsEyv/YPkvwEt/U8FW90X3b vzYxG2KMuApmEOdIeiDRCY46rEgpTJ6X2ITq0BgnLkU5CzegEUaNmnmJBRUda0nE9swr 4G0WHAGiPd+WpMANWQS7opRRqqfTq+7sWyx8hnmL7isqo76D5OGDkvNJqOn1cmjoKEJC stU3n27uJn6Jmkotn1tqaV7autB1AgejcAJb3ah+SEqurqeuD9U+dI3XEO1aqNmJgsQZ CUdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361848; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OysujxAvO1LO+znxhq2cK1zhDT/kwGpupsQNqmo1Vj0=; b=mYIUBeClpX5sNXWZanQLh657TzQ1/bAsk7kFr6qSNIxrXayxURDesjTJrpscKgBFFl wQUAIAVVN8Uqn6w2J5hnKWnTxZSSBf9xB8qM1ZDS0pwVkJR8vUBFNhPdtAhHCT/o86/O prr1PC4QCE9hAF+PRwUhpZ8+iDPPEQCelLoUBn/Z7JfZ5cMWiWrO3b3th2wf9Mavqz1x Nk+qbPXxYh86m97n6O43vGB2CCTf7vp6c6mFzvzK8iz7uVv2N9LE+bRTUFWPIK1Qk2GO MVq5e09GeOZSJEqVa1LlPW5z/qKlDd5q7yuvXBSJGwH/j5+PM2bL0cKIZrcvwZ37ha41 YoAA== X-Gm-Message-State: AO0yUKXSniYbF/1Es00kV6OX8naa60JLb9Xznyc2CQ2oJJlREKmIYxSz t9CptOHogJ1c3nHigmT+y8SxwnoiENg= X-Google-Smtp-Source: AK7set8RwIjVJRK4hHdbuwMjAJHCUXwHCWEvLPRl7yjrZfxmwM5N4NrmjH8Hne4pObFc3159peR3fg== X-Received: by 2002:a05:600c:2254:b0:3df:e41f:8396 with SMTP id a20-20020a05600c225400b003dfe41f8396mr22395066wmm.37.1680361848131; Sat, 01 Apr 2023 08:10:48 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id m21-20020a05600c161500b003ef4cd057f5sm12783666wmn.4.2023.04.01.08.10.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:47 -0700 (PDT) Message-Id: <2f240f0755194d1502bc214a4cc5c93a839c5542.1680361839.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:23 +0000 Subject: [PATCH 10/24] git-zlib: move declarations for git-zlib functions from cache.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Move functions from cache.h for zlib.c into a new header file. Since adding a "zlib.h" would cause issues with the real zlib, rename zlib.c to git-zlib.c while we are at it. Signed-off-by: Elijah Newren --- Makefile | 2 +- archive-tar.c | 1 + archive-zip.c | 1 + builtin/unpack-objects.c | 1 + cache.h | 25 +------------------------ zlib.c => git-zlib.c | 3 ++- git-zlib.h | 28 ++++++++++++++++++++++++++++ http-backend.c | 1 + http.h | 3 +++ 9 files changed, 39 insertions(+), 26 deletions(-) rename zlib.c => git-zlib.c (99%) create mode 100644 git-zlib.h diff --git a/Makefile b/Makefile index 50ee51fde32..0c367881bff 100644 --- a/Makefile +++ b/Makefile @@ -1036,6 +1036,7 @@ LIB_OBJS += fsmonitor.o LIB_OBJS += fsmonitor-ipc.o LIB_OBJS += fsmonitor-settings.o LIB_OBJS += gettext.o +LIB_OBJS += git-zlib.o LIB_OBJS += gpg-interface.o LIB_OBJS += graph.o LIB_OBJS += grep.o @@ -1196,7 +1197,6 @@ LIB_OBJS += write-or-die.o LIB_OBJS += ws.o LIB_OBJS += wt-status.o LIB_OBJS += xdiff-interface.o -LIB_OBJS += zlib.o BUILTIN_OBJS += builtin/add.o BUILTIN_OBJS += builtin/am.o diff --git a/archive-tar.c b/archive-tar.c index 497dad0b3af..4cd81d8161e 100644 --- a/archive-tar.c +++ b/archive-tar.c @@ -5,6 +5,7 @@ #include "alloc.h" #include "config.h" #include "gettext.h" +#include "git-zlib.h" #include "hex.h" #include "tar.h" #include "archive.h" diff --git a/archive-zip.c b/archive-zip.c index e6f5c10a14f..ef538a90df4 100644 --- a/archive-zip.c +++ b/archive-zip.c @@ -5,6 +5,7 @@ #include "config.h" #include "archive.h" #include "gettext.h" +#include "git-zlib.h" #include "hex.h" #include "streaming.h" #include "utf8.h" diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c index f2c1323e661..ddbdb3dd226 100644 --- a/builtin/unpack-objects.c +++ b/builtin/unpack-objects.c @@ -4,6 +4,7 @@ #include "config.h" #include "environment.h" #include "gettext.h" +#include "git-zlib.h" #include "hex.h" #include "object-store.h" #include "object.h" diff --git a/cache.h b/cache.h index dfae7d02c55..769b2ec545a 100644 --- a/cache.h +++ b/cache.h @@ -3,6 +3,7 @@ #include "git-compat-util.h" #include "strbuf.h" +#include "git-zlib.h" #include "hashmap.h" #include "list.h" #include "gettext.h" @@ -14,30 +15,6 @@ #include "repository.h" #include "statinfo.h" -typedef struct git_zstream { - z_stream z; - unsigned long avail_in; - unsigned long avail_out; - unsigned long total_in; - unsigned long total_out; - unsigned char *next_in; - unsigned char *next_out; -} git_zstream; - -void git_inflate_init(git_zstream *); -void git_inflate_init_gzip_only(git_zstream *); -void git_inflate_end(git_zstream *); -int git_inflate(git_zstream *, int flush); - -void git_deflate_init(git_zstream *, int level); -void git_deflate_init_gzip(git_zstream *, int level); -void git_deflate_init_raw(git_zstream *, int level); -void git_deflate_end(git_zstream *); -int git_deflate_abort(git_zstream *); -int git_deflate_end_gently(git_zstream *); -int git_deflate(git_zstream *, int flush); -unsigned long git_deflate_bound(git_zstream *, unsigned long); - #if defined(DT_UNKNOWN) && !defined(NO_D_TYPE_IN_DIRENT) #define DTYPE(de) ((de)->d_type) #else diff --git a/zlib.c b/git-zlib.c similarity index 99% rename from zlib.c rename to git-zlib.c index d594cba3fc9..d43bbeb6daa 100644 --- a/zlib.c +++ b/git-zlib.c @@ -2,7 +2,8 @@ * zlib wrappers to make sure we don't silently miss errors * at init time. */ -#include "cache.h" +#include "git-compat-util.h" +#include "git-zlib.h" static const char *zerr_to_string(int status) { diff --git a/git-zlib.h b/git-zlib.h new file mode 100644 index 00000000000..d8a670aff9f --- /dev/null +++ b/git-zlib.h @@ -0,0 +1,28 @@ +#ifndef GIT_ZLIB_H +#define GIT_ZLIB_H + +typedef struct git_zstream { + z_stream z; + unsigned long avail_in; + unsigned long avail_out; + unsigned long total_in; + unsigned long total_out; + unsigned char *next_in; + unsigned char *next_out; +} git_zstream; + +void git_inflate_init(git_zstream *); +void git_inflate_init_gzip_only(git_zstream *); +void git_inflate_end(git_zstream *); +int git_inflate(git_zstream *, int flush); + +void git_deflate_init(git_zstream *, int level); +void git_deflate_init_gzip(git_zstream *, int level); +void git_deflate_init_raw(git_zstream *, int level); +void git_deflate_end(git_zstream *); +int git_deflate_abort(git_zstream *); +int git_deflate_end_gently(git_zstream *); +int git_deflate(git_zstream *, int flush); +unsigned long git_deflate_bound(git_zstream *, unsigned long); + +#endif /* GIT_ZLIB_H */ diff --git a/http-backend.c b/http-backend.c index 89aad1b42c7..d41b3b9e1e7 100644 --- a/http-backend.c +++ b/http-backend.c @@ -2,6 +2,7 @@ #include "alloc.h" #include "config.h" #include "environment.h" +#include "git-zlib.h" #include "hex.h" #include "repository.h" #include "refs.h" diff --git a/http.h b/http.h index 77c042706c6..783b2b09b8b 100644 --- a/http.h +++ b/http.h @@ -1,7 +1,10 @@ #ifndef HTTP_H #define HTTP_H +struct packed_git; + #include "cache.h" +#include "git-zlib.h" #include #include From patchwork Sat Apr 1 15:10:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197063 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EAF52C76196 for ; Sat, 1 Apr 2023 15:11:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229776AbjDAPLI (ORCPT ); Sat, 1 Apr 2023 11:11:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42622 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230142AbjDAPKy (ORCPT ); Sat, 1 Apr 2023 11:10:54 -0400 Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9ED0C20C1E for ; Sat, 1 Apr 2023 08:10:50 -0700 (PDT) Received: by mail-wr1-x433.google.com with SMTP id q19so22118507wrc.5 for ; Sat, 01 Apr 2023 08:10:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361849; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=NoMJ9cVwb/ZvflFcl5pAhOAsWQBn3D0Pm7GwOWGmO2I=; b=XHyL6J6i1GXy49IVRQwxFMqeH32wJ2VWadWMxqm59S01H6ORKS6A0/ytqjP3oZj9C1 IcmKB3jSQv3DGQHM6tgSPg06Vznq2B/43PyuU/4EsGMTXmXeOuAiiYxZszTF54GZCC6h yKzJrnQed7EZbW6EwGdvlDtbghhiG5eLCfwKZadt6ryR9csUjaCGO17ZupSXVbEGoek9 ztN+7LfwVAVr+Ysx6m4TEnAclfqqe07y0FE/eoc777Y+eef/gePRZxTRNOdkvGJFG+Gd 60Tv29/H4rbNi3pIyq88rwsrvQuP8Lnt+x+6enadFaLQzKugxPIGRirFcglklrcjnMvB hphQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361849; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NoMJ9cVwb/ZvflFcl5pAhOAsWQBn3D0Pm7GwOWGmO2I=; b=id3KXmXX3KV9Z6lQ9ObzqejRGX8Q8m+QVcW8Yuo8xz0HE13Dakp+Fru8VwfsGlNKx2 Y3FmhUZPHljK9Sdv2QkghnOoqOLPyWWYO92ToBVoORBXKPzGpfadvxAuZhZudPK55yN6 NpZEgtatWggyUrWEnc9SlT2ZUUQ2Gb4SWdCWPCk3roPbrwShC2v9p0u6YSKCbNkprXtU zDm/QqD0YLKS+HEzz4apV6yQ4IFLoOGngKldG5ry8EaqLiyH12QVsh6DVDCZzGc1gUah jT6a+uebCKs686IPrJ3AR4u8CpZWJce8t2Ls1a+9bguXpDiIXnpFaESjBFlXaHO6GWba ihCg== X-Gm-Message-State: AAQBX9feD9T9LV0g0m9rWeWgnsWip0qZB2PH2HsBXE7efLwfK2cKLWJv HlbSRc+4CQwqSFEqgoA3N0uNN3C9dJs= X-Google-Smtp-Source: AKy350bAb5S3gmYWnAqqNDIyZoX01l6suYehSLniSKK7d0Cnu3LSovvGgBm9Ukdep5/BEw288ODUEA== X-Received: by 2002:a5d:58c9:0:b0:2cf:ea5d:f5fe with SMTP id o9-20020a5d58c9000000b002cfea5df5femr25386629wrf.36.1680361848871; Sat, 01 Apr 2023 08:10:48 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id g4-20020adffc84000000b002d8566128e5sm5098157wrr.25.2023.04.01.08.10.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:48 -0700 (PDT) Message-Id: <7c969dc801dc4ccfed43bf50e8306114b2a6d357.1680361840.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:24 +0000 Subject: [PATCH 11/24] treewide: remove cache.h inclusion due to git-zlib changes Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren This actually only affects http-backend.c, but the git-zlib changes are going to be instrumental in pulling out an object-file.h which will help with several more files. Signed-off-by: Elijah Newren --- http-backend.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/http-backend.c b/http-backend.c index d41b3b9e1e7..ac146d85c54 100644 --- a/http-backend.c +++ b/http-backend.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "config.h" #include "environment.h" From patchwork Sat Apr 1 15:10:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197068 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A06BC6FD1D for ; Sat, 1 Apr 2023 15:11:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230173AbjDAPLa (ORCPT ); Sat, 1 Apr 2023 11:11:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42764 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230141AbjDAPK4 (ORCPT ); Sat, 1 Apr 2023 11:10:56 -0400 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4DBF1EA19 for ; Sat, 1 Apr 2023 08:10:51 -0700 (PDT) Received: by mail-wr1-x42a.google.com with SMTP id r11so25174751wrr.12 for ; Sat, 01 Apr 2023 08:10:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361850; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=VcXBHgcOQ9Ht1RPMdgZ8qM1BNbl4+HUrZdEMNEo1ups=; b=euyxcLWepixpGxl7igXo+5sOyTSvzv5fFRx922nmb7S13SntYwErMPAQ/20Dit8H/l j1BAfd8mMjs+DKPaaAnMHAqjkou843tb4MLg/Etpb9D/sN5kVcFBFXLXZQrxcromXKM1 IwMU0Py8W33+jT77KxfAf+uhUXX1CNH8ee8Jca2YwskMIegSiBxqEO/qBk6VUt448a5Q yjb9OyHjXwD+0FvC0GlG2sneVGIlVy0owsOvjCPIgYFZLV8HzkL4/bpTUzQ2iye5pNqj /AO9HW71vLE4/O6qAy0Qje9mwvXifdYr+DafcVPkR4PKO+yO0Jnx6Fd5KgRKW2V6tQQD Ettg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361850; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VcXBHgcOQ9Ht1RPMdgZ8qM1BNbl4+HUrZdEMNEo1ups=; b=uNsUKEAUAlbaIh5dyF/vp/NFhlnNYKiUQGEsr+2IuRKUUF77c6ctRi49febV4zpjQ5 W+yiTCnnnG2SZYRrY2rlYaOWgmSBLP2QmZdtWni7oqZFJ71KAvtrL7aiKa7EqSMxKpP/ RriKJYegPDHo6scrBnue8+sqQavBoStTpmRQ/JeFkl2U8VsU0NMyUcKipuJR8kIxRXtg ohInmI9Y+IDNbGmlVNlvKo9G7J1p/M4oyFsTSXV/RlZI+xEgfqJfJMme7IECLh1fPBoG Zg1uxBBMruQq/zcY1QPgHTDEHYsG4WEFz3X1AJMQhNDeF5qMN02n96E02eoeWIhvDDPT 6ahw== X-Gm-Message-State: AAQBX9cfXT8PbLnQIJIMkZvZYFRnielKZP8HYoIdHKO5szFVu+COpD4F j89idOp8eVBn6ah9zmUD/0RMuHQ0oP0= X-Google-Smtp-Source: AKy350a4dgm2ZUkitqzwOTfUk4CPXv5PzCla3OHo/obMbQadRHBxAWBQwlMdv0LpNp48ldK0YfJjVA== X-Received: by 2002:a5d:4533:0:b0:2cf:ed7c:29c with SMTP id j19-20020a5d4533000000b002cfed7c029cmr22862328wra.62.1680361849571; Sat, 01 Apr 2023 08:10:49 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id w7-20020adfec47000000b002cfe687fc7asm5088266wrn.67.2023.04.01.08.10.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:49 -0700 (PDT) Message-Id: <7cd3acfdb867491bcb8c43da1d2e44473a57d70d.1680361840.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:25 +0000 Subject: [PATCH 12/24] object-file.h: move declarations for object-file.c functions from cache.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- apply.c | 1 + builtin/bugreport.c | 1 + builtin/cat-file.c | 1 + builtin/clone.c | 1 + builtin/credential-cache--daemon.c | 1 + builtin/diagnose.c | 1 + builtin/difftool.c | 1 + builtin/fast-export.c | 1 + builtin/fast-import.c | 1 + builtin/fsck.c | 1 + builtin/gc.c | 1 + builtin/grep.c | 1 + builtin/hash-object.c | 1 + builtin/index-pack.c | 1 + builtin/init-db.c | 1 + builtin/log.c | 1 + builtin/mktag.c | 1 + builtin/mv.c | 1 + builtin/pack-objects.c | 1 + builtin/rebase.c | 1 + builtin/replace.c | 1 + builtin/sparse-checkout.c | 1 + builtin/submodule--helper.c | 1 + builtin/update-index.c | 1 + builtin/worktree.c | 1 + bulk-checkin.c | 1 + cache-tree.c | 1 + cache.h | 114 --------------------------- commit-graph.c | 1 + diff.c | 1 + dir.c | 1 + environment.c | 1 + http.c | 1 + merge-recursive.c | 1 + midx.c | 1 + notes-merge.c | 1 + object-file.c | 1 + object-file.h | 121 +++++++++++++++++++++++++++++ object.c | 1 + pack-bitmap.c | 1 + pack-check.c | 1 + pack-mtimes.c | 1 + pack-revindex.c | 1 + packfile.c | 1 + read-cache.c | 1 + refs/files-backend.c | 1 + rerere.c | 1 + sequencer.c | 1 + server-info.c | 1 + streaming.c | 1 + submodule.c | 1 + tmp-objdir.c | 1 + tree-walk.c | 1 + 53 files changed, 172 insertions(+), 114 deletions(-) create mode 100644 object-file.h diff --git a/apply.c b/apply.c index 7e40f53ec4c..2868cef5ddd 100644 --- a/apply.c +++ b/apply.c @@ -23,6 +23,7 @@ #include "ll-merge.h" #include "lockfile.h" #include "object-name.h" +#include "object-file.h" #include "parse-options.h" #include "quote.h" #include "rerere.h" diff --git a/builtin/bugreport.c b/builtin/bugreport.c index 52955e1d389..03fb0536911 100644 --- a/builtin/bugreport.c +++ b/builtin/bugreport.c @@ -8,6 +8,7 @@ #include "hook.h" #include "hook-list.h" #include "diagnose.h" +#include "object-file.h" #include "setup.h" #include "wrapper.h" diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 60b7a55dfc1..0bafc14e6c0 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-file.h" #include "object-name.h" #include "object-store.h" #include "replace-object.h" diff --git a/builtin/clone.c b/builtin/clone.c index f1e8aa3f27e..c7fdffb484c 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -21,6 +21,7 @@ #include "fetch-pack.h" #include "refs.h" #include "refspec.h" +#include "object-file.h" #include "object-store.h" #include "tree.h" #include "tree-walk.h" diff --git a/builtin/credential-cache--daemon.c b/builtin/credential-cache--daemon.c index 62c09a271d6..4e571d9951b 100644 --- a/builtin/credential-cache--daemon.c +++ b/builtin/credential-cache--daemon.c @@ -2,6 +2,7 @@ #include "abspath.h" #include "alloc.h" #include "gettext.h" +#include "object-file.h" #include "parse-options.h" #ifndef NO_UNIX_SOCKETS diff --git a/builtin/diagnose.c b/builtin/diagnose.c index 0f8b64994c4..4f22eb2b55d 100644 --- a/builtin/diagnose.c +++ b/builtin/diagnose.c @@ -1,6 +1,7 @@ #include "builtin.h" #include "abspath.h" #include "gettext.h" +#include "object-file.h" #include "parse-options.h" #include "diagnose.h" diff --git a/builtin/difftool.c b/builtin/difftool.c index e010a21bfbc..3ffb0524be7 100644 --- a/builtin/difftool.c +++ b/builtin/difftool.c @@ -25,6 +25,7 @@ #include "strvec.h" #include "strbuf.h" #include "lockfile.h" +#include "object-file.h" #include "object-store.h" #include "dir.h" #include "entry.h" diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 0bb779deb69..c7835ea0791 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -10,6 +10,7 @@ #include "hex.h" #include "refs.h" #include "refspec.h" +#include "object-file.h" #include "object-store.h" #include "commit.h" #include "object.h" diff --git a/builtin/fast-import.c b/builtin/fast-import.c index 31b8732128d..9f90f5b9e41 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-file.h" #include "object-name.h" #include "object-store.h" #include "mem-pool.h" diff --git a/builtin/fsck.c b/builtin/fsck.c index 04bc71d148c..35a6de3cdb5 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -19,6 +19,7 @@ #include "streaming.h" #include "decorate.h" #include "packfile.h" +#include "object-file.h" #include "object-name.h" #include "object-store.h" #include "replace-object.h" diff --git a/builtin/gc.c b/builtin/gc.c index 000a2ef5e11..b95154fba16 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -25,6 +25,7 @@ #include "commit.h" #include "commit-graph.h" #include "packfile.h" +#include "object-file.h" #include "object-store.h" #include "pack.h" #include "pack-objects.h" diff --git a/builtin/grep.c b/builtin/grep.c index f66e14389e1..fb11be6075a 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-file.h" #include "object-name.h" #include "object-store.h" #include "packfile.h" diff --git a/builtin/hash-object.c b/builtin/hash-object.c index a15fe4fd3f4..a3801211666 100644 --- a/builtin/hash-object.c +++ b/builtin/hash-object.c @@ -9,6 +9,7 @@ #include "config.h" #include "gettext.h" #include "hex.h" +#include "object-file.h" #include "object-store.h" #include "blob.h" #include "quote.h" diff --git a/builtin/index-pack.c b/builtin/index-pack.c index 5adfb2521cd..0f59cf8aa08 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -18,6 +18,7 @@ #include "thread-utils.h" #include "packfile.h" #include "pack-revindex.h" +#include "object-file.h" #include "object-store.h" #include "oid-array.h" #include "replace-object.h" diff --git a/builtin/init-db.c b/builtin/init-db.c index ba6e0b20fa5..6183f3fb3ff 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c @@ -11,6 +11,7 @@ #include "refs.h" #include "builtin.h" #include "exec-cmd.h" +#include "object-file.h" #include "parse-options.h" #include "setup.h" #include "worktree.h" diff --git a/builtin/log.c b/builtin/log.c index 5cdc2276cc4..b6246c7042c 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -12,6 +12,7 @@ #include "gettext.h" #include "hex.h" #include "refs.h" +#include "object-file.h" #include "object-name.h" #include "object-store.h" #include "color.h" diff --git a/builtin/mktag.c b/builtin/mktag.c index f9d9a38452b..f33d267fcb6 100644 --- a/builtin/mktag.c +++ b/builtin/mktag.c @@ -4,6 +4,7 @@ #include "parse-options.h" #include "tag.h" #include "replace-object.h" +#include "object-file.h" #include "object-store.h" #include "fsck.h" #include "config.h" diff --git a/builtin/mv.c b/builtin/mv.c index 8f7770aa32b..32935af48e6 100644 --- a/builtin/mv.c +++ b/builtin/mv.c @@ -11,6 +11,7 @@ #include "config.h" #include "environment.h" #include "gettext.h" +#include "object-file.h" #include "pathspec.h" #include "lockfile.h" #include "dir.h" diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 69c65428614..68c914a8e1a 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -33,6 +33,7 @@ #include "strvec.h" #include "list.h" #include "packfile.h" +#include "object-file.h" #include "object-store.h" #include "replace-object.h" #include "dir.h" diff --git a/builtin/rebase.c b/builtin/rebase.c index ff5dd77608d..34fea4d8220 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-file.h" #include "object-name.h" #include "parse-options.h" #include "commit.h" diff --git a/builtin/replace.c b/builtin/replace.c index 134f738a450..f4b3a8efb23 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-file.h" #include "object-name.h" #include "object-store.h" #include "replace-object.h" diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c index 34b9d92fb13..4de37d07fd9 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-file.h" #include "object-name.h" #include "parse-options.h" #include "pathspec.h" diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 1f087d7bed2..5d999f814e0 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-file.h" #include "object-name.h" #include "object-store.h" #include "advice.h" diff --git a/builtin/update-index.c b/builtin/update-index.c index 03cda5e60d2..33b00cef151 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -15,6 +15,7 @@ #include "cache-tree.h" #include "tree-walk.h" #include "builtin.h" +#include "object-file.h" #include "refs.h" #include "resolve-undo.h" #include "parse-options.h" diff --git a/builtin/worktree.c b/builtin/worktree.c index 69132bba319..0621f6f708e 100644 --- a/builtin/worktree.c +++ b/builtin/worktree.c @@ -7,6 +7,7 @@ #include "environment.h" #include "gettext.h" #include "hex.h" +#include "object-file.h" #include "object-name.h" #include "parse-options.h" #include "strvec.h" diff --git a/bulk-checkin.c b/bulk-checkin.c index 6362b6aabc7..af15f8a9af4 100644 --- a/bulk-checkin.c +++ b/bulk-checkin.c @@ -15,6 +15,7 @@ #include "string-list.h" #include "tmp-objdir.h" #include "packfile.h" +#include "object-file.h" #include "object-store.h" static int odb_transaction_nesting; diff --git a/cache-tree.c b/cache-tree.c index 39f0c744727..ebfe649b330 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -7,6 +7,7 @@ #include "tree-walk.h" #include "cache-tree.h" #include "bulk-checkin.h" +#include "object-file.h" #include "object-store.h" #include "replace-object.h" #include "promisor-remote.h" diff --git a/cache.h b/cache.h index 769b2ec545a..f02c7c9609d 100644 --- a/cache.h +++ b/cache.h @@ -596,13 +596,6 @@ int has_racy_timestamp(struct index_state *istate); int ie_match_stat(struct index_state *, const struct cache_entry *, struct stat *, unsigned int); int ie_modified(struct index_state *, const struct cache_entry *, struct stat *, unsigned int); -#define HASH_WRITE_OBJECT 1 -#define HASH_FORMAT_CHECK 2 -#define HASH_RENORMALIZE 4 -#define HASH_SILENT 8 -int index_fd(struct index_state *istate, struct object_id *oid, int fd, struct stat *st, enum object_type type, const char *path, unsigned flags); -int index_path(struct index_state *istate, struct object_id *oid, const char *path, struct stat *st, unsigned flags); - /* * Record to sd the data from st that we use to check whether a file * might have changed. @@ -664,107 +657,6 @@ extern int quote_path_fully; #define DATA_CHANGED 0x0020 #define TYPE_CHANGED 0x0040 -/* - * Create the directory containing the named path, using care to be - * somewhat safe against races. Return one of the scld_error values to - * indicate success/failure. On error, set errno to describe the - * problem. - * - * SCLD_VANISHED indicates that one of the ancestor directories of the - * path existed at one point during the function call and then - * suddenly vanished, probably because another process pruned the - * directory while we were working. To be robust against this kind of - * race, callers might want to try invoking the function again when it - * returns SCLD_VANISHED. - * - * safe_create_leading_directories() temporarily changes path while it - * is working but restores it before returning. - * safe_create_leading_directories_const() doesn't modify path, even - * temporarily. Both these variants adjust the permissions of the - * created directories to honor core.sharedRepository, so they are best - * suited for files inside the git dir. For working tree files, use - * safe_create_leading_directories_no_share() instead, as it ignores - * the core.sharedRepository setting. - */ -enum scld_error { - SCLD_OK = 0, - SCLD_FAILED = -1, - SCLD_PERMS = -2, - SCLD_EXISTS = -3, - SCLD_VANISHED = -4 -}; -enum scld_error safe_create_leading_directories(char *path); -enum scld_error safe_create_leading_directories_const(const char *path); -enum scld_error safe_create_leading_directories_no_share(char *path); - -int mkdir_in_gitdir(const char *path); - -int git_open_cloexec(const char *name, int flags); -#define git_open(name) git_open_cloexec(name, O_RDONLY) - -/** - * unpack_loose_header() initializes the data stream needed to unpack - * a loose object header. - * - * Returns: - * - * - ULHR_OK on success - * - ULHR_BAD on error - * - ULHR_TOO_LONG if the header was too long - * - * It will only parse up to MAX_HEADER_LEN bytes unless an optional - * "hdrbuf" argument is non-NULL. This is intended for use with - * OBJECT_INFO_ALLOW_UNKNOWN_TYPE to extract the bad type for (error) - * reporting. The full header will be extracted to "hdrbuf" for use - * with parse_loose_header(), ULHR_TOO_LONG will still be returned - * from this function to indicate that the header was too long. - */ -enum unpack_loose_header_result { - ULHR_OK, - ULHR_BAD, - ULHR_TOO_LONG, -}; -enum unpack_loose_header_result unpack_loose_header(git_zstream *stream, - unsigned char *map, - unsigned long mapsize, - void *buffer, - unsigned long bufsiz, - struct strbuf *hdrbuf); - -/** - * parse_loose_header() parses the starting " \0" of an - * object. If it doesn't follow that format -1 is returned. To check - * the validity of the populate the "typep" in the "struct - * object_info". It will be OBJ_BAD if the object type is unknown. The - * parsed can be retrieved via "oi->sizep", and from there - * passed to unpack_loose_rest(). - */ -struct object_info; -int parse_loose_header(const char *hdr, struct object_info *oi); - -/** - * With in-core object data in "buf", rehash it to make sure the - * object name actually matches "oid" to detect object corruption. - * - * A negative value indicates an error, usually that the OID is not - * what we expected, but it might also indicate another error. - */ -int check_object_signature(struct repository *r, const struct object_id *oid, - void *map, unsigned long size, - enum object_type type); - -/** - * A streaming version of check_object_signature(). - * Try reading the object named with "oid" using - * the streaming interface and rehash it to do the same. - */ -int stream_object_signature(struct repository *r, const struct object_id *oid); - -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 @@ -794,12 +686,6 @@ int df_name_compare(const char *name1, size_t len1, int mode1, int name_compare(const char *name1, size_t len1, const char *name2, size_t len2); int cache_name_stage_compare(const char *name1, int len1, int stage1, const char *name2, int len2, int stage2); -void *read_object_with_reference(struct repository *r, - const struct object_id *oid, - enum object_type required_type, - unsigned long *size, - struct object_id *oid_ret); - const char *git_editor(void); const char *git_sequence_editor(void); const char *git_pager(int stdout_is_tty); diff --git a/commit-graph.c b/commit-graph.c index fe9a8b2342f..c20e73ceebf 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -11,6 +11,7 @@ #include "revision.h" #include "hash-lookup.h" #include "commit-graph.h" +#include "object-file.h" #include "object-store.h" #include "oid-array.h" #include "alloc.h" diff --git a/diff.c b/diff.c index 9e6ad94bc66..f8e0d3b5c59 100644 --- a/diff.c +++ b/diff.c @@ -35,6 +35,7 @@ #include "help.h" #include "promisor-remote.h" #include "dir.h" +#include "object-file.h" #include "object-name.h" #include "setup.h" #include "strmap.h" diff --git a/dir.c b/dir.c index d1f1b1ef768..aa840995c40 100644 --- a/dir.c +++ b/dir.c @@ -13,6 +13,7 @@ #include "dir.h" #include "environment.h" #include "gettext.h" +#include "object-file.h" #include "object-store.h" #include "attr.h" #include "refs.h" diff --git a/environment.c b/environment.c index e57292eccc9..39efa49fe31 100644 --- a/environment.c +++ b/environment.c @@ -19,6 +19,7 @@ #include "fmt-merge-msg.h" #include "commit.h" #include "strvec.h" +#include "object-file.h" #include "object-store.h" #include "replace-object.h" #include "tmp-objdir.h" diff --git a/http.c b/http.c index 0212c0ad3b2..c3916ceb4d8 100644 --- a/http.c +++ b/http.c @@ -17,6 +17,7 @@ #include "packfile.h" #include "protocol.h" #include "string-list.h" +#include "object-file.h" #include "object-store.h" static struct trace_key trace_curl = TRACE_KEY_INIT(CURL); diff --git a/merge-recursive.c b/merge-recursive.c index ed5534eb57d..b22bf7097c8 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-file.h" #include "object-store.h" #include "repository.h" #include "revision.h" diff --git a/midx.c b/midx.c index 9af3e5de889..2d0da573281 100644 --- a/midx.c +++ b/midx.c @@ -8,6 +8,7 @@ #include "hex.h" #include "lockfile.h" #include "packfile.h" +#include "object-file.h" #include "object-store.h" #include "hash-lookup.h" #include "midx.h" diff --git a/notes-merge.c b/notes-merge.c index b496b77d9db..cc9538ac5c0 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -3,6 +3,7 @@ #include "commit.h" #include "gettext.h" #include "refs.h" +#include "object-file.h" #include "object-name.h" #include "object-store.h" #include "repository.h" diff --git a/object-file.c b/object-file.c index a4331e0da61..8163ddbaddd 100644 --- a/object-file.c +++ b/object-file.c @@ -36,6 +36,7 @@ #include "mergesort.h" #include "quote.h" #include "packfile.h" +#include "object-file.h" #include "object-store.h" #include "promisor-remote.h" #include "setup.h" diff --git a/object-file.h b/object-file.h new file mode 100644 index 00000000000..e2ae70c83a4 --- /dev/null +++ b/object-file.h @@ -0,0 +1,121 @@ +#ifndef OBJECT_FILE_H +#define OBJECT_FILE_H + +#include "git-zlib.h" +#include "object.h" + +#define HASH_WRITE_OBJECT 1 +#define HASH_FORMAT_CHECK 2 +#define HASH_RENORMALIZE 4 +#define HASH_SILENT 8 +int index_fd(struct index_state *istate, struct object_id *oid, int fd, struct stat *st, enum object_type type, const char *path, unsigned flags); +int index_path(struct index_state *istate, struct object_id *oid, const char *path, struct stat *st, unsigned flags); + +/* + * Create the directory containing the named path, using care to be + * somewhat safe against races. Return one of the scld_error values to + * indicate success/failure. On error, set errno to describe the + * problem. + * + * SCLD_VANISHED indicates that one of the ancestor directories of the + * path existed at one point during the function call and then + * suddenly vanished, probably because another process pruned the + * directory while we were working. To be robust against this kind of + * race, callers might want to try invoking the function again when it + * returns SCLD_VANISHED. + * + * safe_create_leading_directories() temporarily changes path while it + * is working but restores it before returning. + * safe_create_leading_directories_const() doesn't modify path, even + * temporarily. Both these variants adjust the permissions of the + * created directories to honor core.sharedRepository, so they are best + * suited for files inside the git dir. For working tree files, use + * safe_create_leading_directories_no_share() instead, as it ignores + * the core.sharedRepository setting. + */ +enum scld_error { + SCLD_OK = 0, + SCLD_FAILED = -1, + SCLD_PERMS = -2, + SCLD_EXISTS = -3, + SCLD_VANISHED = -4 +}; +enum scld_error safe_create_leading_directories(char *path); +enum scld_error safe_create_leading_directories_const(const char *path); +enum scld_error safe_create_leading_directories_no_share(char *path); + +int mkdir_in_gitdir(const char *path); + +int git_open_cloexec(const char *name, int flags); +#define git_open(name) git_open_cloexec(name, O_RDONLY) + +/** + * unpack_loose_header() initializes the data stream needed to unpack + * a loose object header. + * + * Returns: + * + * - ULHR_OK on success + * - ULHR_BAD on error + * - ULHR_TOO_LONG if the header was too long + * + * It will only parse up to MAX_HEADER_LEN bytes unless an optional + * "hdrbuf" argument is non-NULL. This is intended for use with + * OBJECT_INFO_ALLOW_UNKNOWN_TYPE to extract the bad type for (error) + * reporting. The full header will be extracted to "hdrbuf" for use + * with parse_loose_header(), ULHR_TOO_LONG will still be returned + * from this function to indicate that the header was too long. + */ +enum unpack_loose_header_result { + ULHR_OK, + ULHR_BAD, + ULHR_TOO_LONG, +}; +enum unpack_loose_header_result unpack_loose_header(git_zstream *stream, + unsigned char *map, + unsigned long mapsize, + void *buffer, + unsigned long bufsiz, + struct strbuf *hdrbuf); + +/** + * parse_loose_header() parses the starting " \0" of an + * object. If it doesn't follow that format -1 is returned. To check + * the validity of the populate the "typep" in the "struct + * object_info". It will be OBJ_BAD if the object type is unknown. The + * parsed can be retrieved via "oi->sizep", and from there + * passed to unpack_loose_rest(). + */ +struct object_info; +int parse_loose_header(const char *hdr, struct object_info *oi); + +/** + * With in-core object data in "buf", rehash it to make sure the + * object name actually matches "oid" to detect object corruption. + * + * A negative value indicates an error, usually that the OID is not + * what we expected, but it might also indicate another error. + */ +int check_object_signature(struct repository *r, const struct object_id *oid, + void *map, unsigned long size, + enum object_type type); + +/** + * A streaming version of check_object_signature(). + * Try reading the object named with "oid" using + * the streaming interface and rehash it to do the same. + */ +int stream_object_signature(struct repository *r, const struct object_id *oid); + +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); + +void *read_object_with_reference(struct repository *r, + const struct object_id *oid, + enum object_type required_type, + unsigned long *size, + struct object_id *oid_ret); + +#endif /* OBJECT_FILE_H */ diff --git a/object.c b/object.c index 45c9721b8c8..6d4ef1524de 100644 --- a/object.c +++ b/object.c @@ -3,6 +3,7 @@ #include "hex.h" #include "object.h" #include "replace-object.h" +#include "object-file.h" #include "object-store.h" #include "blob.h" #include "tree.h" diff --git a/pack-bitmap.c b/pack-bitmap.c index eba838d24ee..1371f17d22f 100644 --- a/pack-bitmap.c +++ b/pack-bitmap.c @@ -16,6 +16,7 @@ #include "packfile.h" #include "repository.h" #include "trace2.h" +#include "object-file.h" #include "object-store.h" #include "list-objects-filter-options.h" #include "midx.h" diff --git a/pack-check.c b/pack-check.c index 6974e40a958..40d88bc5ebe 100644 --- a/pack-check.c +++ b/pack-check.c @@ -6,6 +6,7 @@ #include "pack-revindex.h" #include "progress.h" #include "packfile.h" +#include "object-file.h" #include "object-store.h" struct idx_entry { diff --git a/pack-mtimes.c b/pack-mtimes.c index afed6321906..0096ace080b 100644 --- a/pack-mtimes.c +++ b/pack-mtimes.c @@ -1,6 +1,7 @@ #include "cache.h" #include "gettext.h" #include "pack-mtimes.h" +#include "object-file.h" #include "object-store.h" #include "packfile.h" diff --git a/pack-revindex.c b/pack-revindex.c index 9f9927d9471..22a1958a1fc 100644 --- a/pack-revindex.c +++ b/pack-revindex.c @@ -1,6 +1,7 @@ #include "cache.h" #include "gettext.h" #include "pack-revindex.h" +#include "object-file.h" #include "object-store.h" #include "packfile.h" #include "trace2.h" diff --git a/packfile.c b/packfile.c index 02afbe77137..9ae2278c22e 100644 --- a/packfile.c +++ b/packfile.c @@ -18,6 +18,7 @@ #include "trace.h" #include "tree-walk.h" #include "tree.h" +#include "object-file.h" #include "object-store.h" #include "midx.h" #include "commit-graph.h" diff --git a/read-cache.c b/read-cache.c index cbbfc030da7..f225bf44cd0 100644 --- a/read-cache.c +++ b/read-cache.c @@ -14,6 +14,7 @@ #include "cache-tree.h" #include "refs.h" #include "dir.h" +#include "object-file.h" #include "object-store.h" #include "oid-array.h" #include "tree.h" diff --git a/refs/files-backend.c b/refs/files-backend.c index e6a6971381e..d0581ee41ac 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -12,6 +12,7 @@ #include "../dir-iterator.h" #include "../lockfile.h" #include "../object.h" +#include "../object-file.h" #include "../dir.h" #include "../chdir-notify.h" #include "../setup.h" diff --git a/rerere.c b/rerere.c index 5516e336d01..093c0f6f993 100644 --- a/rerere.c +++ b/rerere.c @@ -13,6 +13,7 @@ #include "ll-merge.h" #include "attr.h" #include "pathspec.h" +#include "object-file.h" #include "object-store.h" #include "hash-lookup.h" #include "strmap.h" diff --git a/sequencer.c b/sequencer.c index 22b287be984..be10249fd0a 100644 --- a/sequencer.c +++ b/sequencer.c @@ -8,6 +8,7 @@ #include "hex.h" #include "lockfile.h" #include "dir.h" +#include "object-file.h" #include "object-name.h" #include "object-store.h" #include "object.h" diff --git a/server-info.c b/server-info.c index 355b6e01a52..68098ddd1ad 100644 --- a/server-info.c +++ b/server-info.c @@ -9,6 +9,7 @@ #include "commit.h" #include "tag.h" #include "packfile.h" +#include "object-file.h" #include "object-store.h" #include "strbuf.h" #include "wrapper.h" diff --git a/streaming.c b/streaming.c index 27e014d8b23..b3415724ee4 100644 --- a/streaming.c +++ b/streaming.c @@ -6,6 +6,7 @@ #include "environment.h" #include "streaming.h" #include "repository.h" +#include "object-file.h" #include "object-store.h" #include "replace-object.h" #include "packfile.h" diff --git a/submodule.c b/submodule.c index 4f403b9eeff..d09bc22d4b6 100644 --- a/submodule.c +++ b/submodule.c @@ -24,6 +24,7 @@ #include "remote.h" #include "worktree.h" #include "parse-options.h" +#include "object-file.h" #include "object-name.h" #include "object-store.h" #include "commit-reach.h" diff --git a/tmp-objdir.c b/tmp-objdir.c index 5adad1925d1..fff7ff42db7 100644 --- a/tmp-objdir.c +++ b/tmp-objdir.c @@ -4,6 +4,7 @@ #include "chdir-notify.h" #include "dir.h" #include "environment.h" +#include "object-file.h" #include "sigchain.h" #include "string-list.h" #include "strbuf.h" diff --git a/tree-walk.c b/tree-walk.c index 59add24c8e9..2993c48c2f3 100644 --- a/tree-walk.c +++ b/tree-walk.c @@ -4,6 +4,7 @@ #include "dir.h" #include "gettext.h" #include "hex.h" +#include "object-file.h" #include "object-store.h" #include "trace2.h" #include "tree.h" From patchwork Sat Apr 1 15:10:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197064 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4275BC6FD1D for ; Sat, 1 Apr 2023 15:11:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230007AbjDAPLK (ORCPT ); Sat, 1 Apr 2023 11:11:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42662 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230152AbjDAPKy (ORCPT ); Sat, 1 Apr 2023 11:10:54 -0400 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DE0041EA23 for ; Sat, 1 Apr 2023 08:10:51 -0700 (PDT) Received: by mail-wm1-x330.google.com with SMTP id j1-20020a05600c1c0100b003f04da00d07so103878wms.1 for ; Sat, 01 Apr 2023 08:10:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361850; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=CAXhH+LzGFxAfkUwTGHBBpYa3E6LXP/MJEq7bJTXUek=; b=Pf21qgmToBTkvU8dZC7iisiCR+km3l3/jmlrtfVIl+HQo+5gD8pJDCgEiMs8IZ6Zz8 MZI9yHdgUDtvNchi932fT18awgy9Muvq+3jvFY+YRLhYS9lPQIqro4MZzly9oZICNQe+ UjuXLjl2izIhIpf5uZJn9io3sru41Dq3JMlEvvu9vJHTBtaaltGclp+3SdTLRzdZq/GH ZHh5CaTfPRfFGkVF7MjUUIJ2GFUCrzHVqQmPLefLxGkMnHF3/g7URvu4b1hIT3A9vJYV QYwBBIUEP9EU/hF34MzZnMPdVXwCODNtcoA4B52krBalFOzkYZuxo8hEry6qcyqJISDl S7yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361850; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CAXhH+LzGFxAfkUwTGHBBpYa3E6LXP/MJEq7bJTXUek=; b=ruvG7Zpw0nBSgplyAckOdDSJC91kLNDAq1ugAvQTBWg/OlQSbw9gxIL7GSFzfF6s5R okbmDV99Yey162ZvzEbrhHKThL4LMKb6igEroPl1nLhgqQe3gPuFXkTxzSrxPUD+lnvo 6SMibNPvJkU4UxyxD9RBO30TAmuNJR0OyQD6ygva1lEMOYskoO0pbCXZYzhrNtondDGM JzpWlkcDuqGTUhHBvfbTOg6qYyulpciELRuzufCBJy2PKvzYzY45jtaSJS1BJqxCL0OW SYxZjAZ5e68vLxQ8t+pU7iKO6+BvSt9Z+tusGASOAH+VHf9AJZezht0SUUZRzO+CLwK3 TqCw== X-Gm-Message-State: AO0yUKVoRwCKWGFQaQfFjOonwuoVOlRLb9QY6DEpGIInpIFX3wM+l3r8 lyr0lXh/RMpncn1fz573mdkht2n0+V4= X-Google-Smtp-Source: AK7set/2YKZI5LF5caRwSeOyOiIy48KKzA0ECZkgroHOBOd1oF8WP0ZqLlM0plbMU1B7/rZ09g1awQ== X-Received: by 2002:a7b:c7ce:0:b0:3ed:a07b:c59d with SMTP id z14-20020a7bc7ce000000b003eda07bc59dmr23707472wmk.21.1680361850000; Sat, 01 Apr 2023 08:10:50 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id g19-20020a05600c311300b003ee74c25f12sm13472916wmo.35.2023.04.01.08.10.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:49 -0700 (PDT) Message-Id: In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:26 +0000 Subject: [PATCH 13/24] treewide: remove cache.h inclusion due to object-file.h changes Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- bulk-checkin.c | 2 +- commit-graph.c | 2 +- http-fetch.c | 2 +- http-walker.c | 2 +- http.h | 1 - notes-merge.c | 2 +- pack-bitmap.c | 2 +- pack-check.c | 2 +- pack-mtimes.c | 2 +- pack-revindex.c | 2 +- streaming.c | 2 +- tmp-objdir.c | 2 +- 12 files changed, 11 insertions(+), 12 deletions(-) diff --git a/bulk-checkin.c b/bulk-checkin.c index af15f8a9af4..9192298db6a 100644 --- a/bulk-checkin.c +++ b/bulk-checkin.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2011, Google Inc. */ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "bulk-checkin.h" #include "environment.h" diff --git a/commit-graph.c b/commit-graph.c index c20e73ceebf..0c4f2266445 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "gettext.h" #include "hex.h" diff --git a/http-fetch.c b/http-fetch.c index c874d3402dd..fffda592670 100644 --- a/http-fetch.c +++ b/http-fetch.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "exec-cmd.h" #include "gettext.h" diff --git a/http-walker.c b/http-walker.c index 4588e6a340a..3b41f5654b3 100644 --- a/http-walker.c +++ b/http-walker.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "repository.h" #include "commit.h" #include "hex.h" diff --git a/http.h b/http.h index 783b2b09b8b..3a409bccd4e 100644 --- a/http.h +++ b/http.h @@ -3,7 +3,6 @@ struct packed_git; -#include "cache.h" #include "git-zlib.h" #include diff --git a/notes-merge.c b/notes-merge.c index cc9538ac5c0..233e49e3195 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "advice.h" #include "commit.h" #include "gettext.h" diff --git a/pack-bitmap.c b/pack-bitmap.c index 1371f17d22f..48fc2ec76de 100644 --- a/pack-bitmap.c +++ b/pack-bitmap.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "commit.h" #include "gettext.h" diff --git a/pack-check.c b/pack-check.c index 40d88bc5ebe..049f2f0bfc0 100644 --- a/pack-check.c +++ b/pack-check.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/pack-mtimes.c b/pack-mtimes.c index 0096ace080b..020a37f8fe3 100644 --- a/pack-mtimes.c +++ b/pack-mtimes.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "gettext.h" #include "pack-mtimes.h" #include "object-file.h" diff --git a/pack-revindex.c b/pack-revindex.c index 22a1958a1fc..4d9bb41b4db 100644 --- a/pack-revindex.c +++ b/pack-revindex.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "gettext.h" #include "pack-revindex.h" #include "object-file.h" diff --git a/streaming.c b/streaming.c index b3415724ee4..21e39585e89 100644 --- a/streaming.c +++ b/streaming.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2011, Google Inc. */ -#include "cache.h" +#include "git-compat-util.h" #include "convert.h" #include "environment.h" #include "streaming.h" diff --git a/tmp-objdir.c b/tmp-objdir.c index fff7ff42db7..c33a554f921 100644 --- a/tmp-objdir.c +++ b/tmp-objdir.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "tmp-objdir.h" #include "abspath.h" #include "chdir-notify.h" From patchwork Sat Apr 1 15:10:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197065 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0F7D6C76196 for ; Sat, 1 Apr 2023 15:11:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229781AbjDAPLO (ORCPT ); Sat, 1 Apr 2023 11:11:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42604 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230156AbjDAPKz (ORCPT ); Sat, 1 Apr 2023 11:10:55 -0400 Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 932D91EA2A for ; Sat, 1 Apr 2023 08:10:52 -0700 (PDT) Received: by mail-wm1-x331.google.com with SMTP id bg16-20020a05600c3c9000b003eb34e21bdfso17162274wmb.0 for ; Sat, 01 Apr 2023 08:10:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361850; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=fhuBK+3FsrA7wWsxcUTj1ZWSQavRr8GogtMub0kQ4m4=; b=bgnlrFM9sji0FTl9Tmp3oM9+n5ImrgN98WoMkDsbKkbnYnbncJpeLPgloEHdZRG6p7 EGG466LlKzUcnElDx7bLLw1bgS7TZk501ZKVKUY6WkBiZjjEogeMRYeasoHKstS/XKM2 bWfWlSmh/PBIkfN/jpjQcQ/gb9+TY9VUgZ0QbE0YzeEJlqAiLL1VNbkBMLsPLi/wdT37 8D5oPAgS3m5C98USLJ0Dbo2SGjAUMuoOlDFpkTnRwuEuw4Kv9fYpYMB5o1cySAXSocUf 3Im7HOAUMvR8WozbXlanH31Yqw4g1p3P3ujjXJ+05DGBTXjwsviKt/7SRPGSsJ93HJIO pjIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361850; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fhuBK+3FsrA7wWsxcUTj1ZWSQavRr8GogtMub0kQ4m4=; b=dMTrplf36t8eIJC/LrfXI8CwKoQKJ0NYEnYRVU2PLtghBtK5aamPxaD/9lCItJ0bk+ uAANS0dmYJtmYFebp1/fIAKwRhCc016yzRhzN1nAixuieZ7x8W4MrVpszmJPFQ51jy5B 01JQ3XPfoTBJMydzdjRgoBQGxNCI3Z1dfvW8G5nMmf9LOzpO38hTjGm2u22hETIeUi6T szCBw6R+6SGE3J/qETaB9nmCnFZ8PyEjbO0den9XKO1hvVE1DM5/lLq/pAENGNDg02ce gndQm0IK2AiKQgNJ+ZqSAtWnKcXZUyanCU6WzoU+hPdclUpK8tMPoXFvC8c6OAJqVUba LOtg== X-Gm-Message-State: AAQBX9eFh+DuXCn5I60TheekDPWkEBbv0kUIveztH0JYN9GZwSyZxMjr kigYagUoFybVmWeTMeQyi1azLss6oww= X-Google-Smtp-Source: AKy350ZZ/+5OTvZQRR/IXrNVrIrl/hlC8zbUxatWIfkFyyG5POBB29ZRgGy5ET5OR6twDQd3gjYcdg== X-Received: by 2002:a05:600c:2104:b0:3ef:732e:2d5a with SMTP id u4-20020a05600c210400b003ef732e2d5amr13785254wml.34.1680361850803; Sat, 01 Apr 2023 08:10:50 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id l24-20020a1c7918000000b003e203681b26sm6312311wme.29.2023.04.01.08.10.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:50 -0700 (PDT) Message-Id: In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:27 +0000 Subject: [PATCH 14/24] object.h: move an inline function and some defines from cache.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren The object_type() inline function is very tied to the enum object_type declaration within object.h, and just seemed to make more sense to live there. Move it, and as a side-effect, remove a bunch of dependencies on cache.h that are no longer needed. Signed-off-by: Elijah Newren --- bundle.c | 2 +- cache.h | 21 --------------------- delta-islands.c | 2 +- fsck.c | 2 +- http-push.c | 2 +- list-objects.c | 2 +- object.h | 21 +++++++++++++++++++++ pack-bitmap-write.c | 2 +- submodule-config.c | 2 +- walker.c | 2 +- 10 files changed, 29 insertions(+), 29 deletions(-) diff --git a/bundle.c b/bundle.c index 6471489975a..a5505368de5 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/cache.h b/cache.h index f02c7c9609d..f5eaea341c2 100644 --- a/cache.h +++ b/cache.h @@ -29,18 +29,6 @@ #define DTYPE(de) DT_UNKNOWN #endif -/* unknown mode (impossible combination S_IFIFO|S_IFCHR) */ -#define S_IFINVALID 0030000 - -/* - * A "directory link" is a link to another git directory. - * - * The value 0160000 is not normally a valid mode, and - * also just happens to be S_IFDIR + S_IFLNK - */ -#define S_IFGITLINK 0160000 -#define S_ISGITLINK(m) (((m) & S_IFMT) == S_IFGITLINK) - /* * Some mode bits are also used internally for computations. * @@ -156,8 +144,6 @@ struct cache_entry { #error "CE_EXTENDED_FLAGS out of range" #endif -#define S_ISSPARSEDIR(m) ((m) == S_IFDIR) - /* Forward structure decls */ struct pathspec; struct child_process; @@ -415,13 +401,6 @@ void prefetch_cache_entries(const struct index_state *istate, extern struct index_state the_index; #endif -static inline enum object_type object_type(unsigned int mode) -{ - return S_ISDIR(mode) ? OBJ_TREE : - S_ISGITLINK(mode) ? OBJ_COMMIT : - OBJ_BLOB; -} - #define INIT_DB_QUIET 0x0001 #define INIT_DB_EXIST_OK 0x0002 diff --git a/delta-islands.c b/delta-islands.c index 40f2ccfb550..c824a5f6a42 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/fsck.c b/fsck.c index 8ef1b022346..adbe8bf59e7 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 a8af6c0f690..637a4e91f7a 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.c b/list-objects.c index df18d103063..eecca721ac0 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/object.h b/object.h index fc45b158da0..568cddfc2b4 100644 --- a/object.h +++ b/object.h @@ -101,6 +101,27 @@ enum object_type { OBJ_MAX }; +/* unknown mode (impossible combination S_IFIFO|S_IFCHR) */ +#define S_IFINVALID 0030000 + +/* + * A "directory link" is a link to another git directory. + * + * The value 0160000 is not normally a valid mode, and + * also just happens to be S_IFDIR + S_IFLNK + */ +#define S_IFGITLINK 0160000 +#define S_ISGITLINK(m) (((m) & S_IFMT) == S_IFGITLINK) + +#define S_ISSPARSEDIR(m) ((m) == S_IFDIR) + +static inline enum object_type object_type(unsigned int mode) +{ + return S_ISDIR(mode) ? OBJ_TREE : + S_ISGITLINK(mode) ? OBJ_COMMIT : + OBJ_BLOB; +} + /* * The object type is stored in 3 bits. */ diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c index 7f5f489beb0..faf67c94d37 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/submodule-config.c b/submodule-config.c index 252b90aa439..7fc0812b644 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/walker.c b/walker.c index cfbd257fdba..24ff7dfdc28 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" From patchwork Sat Apr 1 15:10:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197072 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BB2DCC6FD1D for ; Sat, 1 Apr 2023 15:11:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230222AbjDAPLh (ORCPT ); Sat, 1 Apr 2023 11:11:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42602 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229894AbjDAPLL (ORCPT ); Sat, 1 Apr 2023 11:11:11 -0400 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 079DF22E8D for ; Sat, 1 Apr 2023 08:10:53 -0700 (PDT) Received: by mail-wr1-x42e.google.com with SMTP id t4so19955430wra.7 for ; Sat, 01 Apr 2023 08:10:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361851; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=bwNycgjd4eG2sGstl24TWl92Yi+RUoEsnyhgTsvwuos=; b=b1K1xCtzaIG/dmyz9CDmLHdNnM4QsWUSPDqcBqXJFdkai4vWPuZmj3AJ6eudWxMDh1 PD2ScOvKDGA2oA2q5LRQl2o4YtCl7rTbEcVerOBAfu9qpWryjpwfv592KvWC/RXm4KTv gQ/4UO+DsQL1V0VOYSOSDs1ea70Fap36d7VQqCqvU80CCzqo8C5APMRjxcFIL1XAFtw1 D1KDzR79vib3BuYER+S9TcfefsjY1ZsTPMVnIjCyguTCi0LpuaAaR4FrKB4zrEyao/UW qRe5LUPpdKGND6m6MYR+KnvjGdGPcucdfAdvujQPfZ/fjnkqFCW91etBmO6Pps/knxKN hung== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361851; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bwNycgjd4eG2sGstl24TWl92Yi+RUoEsnyhgTsvwuos=; b=BIzQZfUyJ4EIYvYfaEDfU5686MBrcHIcnXxrEcWPN7RVaxlZRmKfL4BaLIRNSfkIg/ /fXLYTOzErf22GNAeN/8zEcrDouWB7a0E5sBkbwhBOmOagbFrAE65XXud4uE16AlvpmQ buSvA9EPSEcNg5XhTPVwuVdxrTTyADduLMDNROn6nXHTT8xIeWimNvFEGGQjXSa1skDI 9JQ7351XhyR08RO4cD9sOiTUiRFBt88r2rJP8yv3fYH6Ck4ZA/R393RDLJtDyf/j0+kq 4DiAOUzEpPBh/I4LV/uPyST64PIgm7E2A38mw7XEKy6t45Ujux//gYH5rkiJg4rC5l/T ja2Q== X-Gm-Message-State: AAQBX9cZTIndEUZm7MRMaMcjxEOqTU+wR90eihhCrsG+JlWnsr22lAEM LG9+FgstorJR4wTHzJYbHMmwQMqDWbo= X-Google-Smtp-Source: AKy350ZJGqUidNtGVy1TAD+G4utu4SGE6VFC4Z1NxsQszMw3oDLv4luPz67ZdovHxqtrtltlBSalSA== X-Received: by 2002:a5d:55c2:0:b0:2d8:7bba:5bb6 with SMTP id i2-20020a5d55c2000000b002d87bba5bb6mr22593981wrw.28.1680361851311; Sat, 01 Apr 2023 08:10:51 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id b2-20020a5d4b82000000b002d828a9f9ddsm5055352wrt.115.2023.04.01.08.10.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:51 -0700 (PDT) Message-Id: <1e0a9441e73aaddd0eabd59b46880fee0493fe78.1680361840.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:28 +0000 Subject: [PATCH 15/24] editor: move editor-related functions and declarations into common file Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren cache.h and strbuf.[ch] had editor-related functions. Move these into editor.[ch]. Signed-off-by: Elijah Newren --- add-patch.c | 1 + builtin/add.c | 1 + builtin/am.c | 1 + builtin/branch.c | 1 + builtin/bugreport.c | 1 + builtin/commit.c | 1 + builtin/config.c | 1 + builtin/merge.c | 1 + builtin/notes.c | 1 + builtin/replace.c | 1 + builtin/tag.c | 1 + builtin/var.c | 1 + cache.h | 3 --- color.c | 1 + editor.c | 30 ++++++++++++++++++++++++++++++ editor.h | 34 ++++++++++++++++++++++++++++++++++ pager.c | 1 + rebase-interactive.c | 1 + sideband.c | 1 + strbuf.c | 28 ---------------------------- strbuf.h | 24 ------------------------ 21 files changed, 80 insertions(+), 55 deletions(-) create mode 100644 editor.h diff --git a/add-patch.c b/add-patch.c index b01ba8fa81d..8d770d203ff 100644 --- a/add-patch.c +++ b/add-patch.c @@ -2,6 +2,7 @@ #include "add-interactive.h" #include "advice.h" #include "alloc.h" +#include "editor.h" #include "environment.h" #include "gettext.h" #include "object-name.h" diff --git a/builtin/add.c b/builtin/add.c index d3c51e28142..76cc026a68a 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -9,6 +9,7 @@ #include "config.h" #include "builtin.h" #include "lockfile.h" +#include "editor.h" #include "dir.h" #include "gettext.h" #include "pathspec.h" diff --git a/builtin/am.c b/builtin/am.c index 0d7ee28bddc..f7a065e5290 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -9,6 +9,7 @@ #include "advice.h" #include "config.h" #include "builtin.h" +#include "editor.h" #include "environment.h" #include "exec-cmd.h" #include "gettext.h" diff --git a/builtin/branch.c b/builtin/branch.c index 7c1c872708f..1fb11d55e65 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -8,6 +8,7 @@ #include "cache.h" #include "config.h" #include "color.h" +#include "editor.h" #include "environment.h" #include "refs.h" #include "commit.h" diff --git a/builtin/bugreport.c b/builtin/bugreport.c index 03fb0536911..daf6c236577 100644 --- a/builtin/bugreport.c +++ b/builtin/bugreport.c @@ -1,5 +1,6 @@ #include "builtin.h" #include "abspath.h" +#include "editor.h" #include "gettext.h" #include "parse-options.h" #include "strbuf.h" diff --git a/builtin/commit.c b/builtin/commit.c index 682f47c8d5a..e67c4be2211 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -13,6 +13,7 @@ #include "cache-tree.h" #include "color.h" #include "dir.h" +#include "editor.h" #include "environment.h" #include "builtin.h" #include "diff.h" diff --git a/builtin/config.c b/builtin/config.c index fe79fb60c43..9401f1e5e3b 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -3,6 +3,7 @@ #include "alloc.h" #include "config.h" #include "color.h" +#include "editor.h" #include "environment.h" #include "gettext.h" #include "ident.h" diff --git a/builtin/merge.c b/builtin/merge.c index 693f185d4d3..8da3e46abb0 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -12,6 +12,7 @@ #include "advice.h" #include "alloc.h" #include "config.h" +#include "editor.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/builtin/notes.c b/builtin/notes.c index 896140b9055..d5788352b6e 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -10,6 +10,7 @@ #include "cache.h" #include "config.h" #include "builtin.h" +#include "editor.h" #include "gettext.h" #include "hex.h" #include "notes.h" diff --git a/builtin/replace.c b/builtin/replace.c index f4b3a8efb23..981f1894436 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -11,6 +11,7 @@ #include "cache.h" #include "config.h" #include "builtin.h" +#include "editor.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/builtin/tag.c b/builtin/tag.c index 88a25902309..7d189a4a5d4 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -10,6 +10,7 @@ #include "advice.h" #include "config.h" #include "builtin.h" +#include "editor.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/builtin/var.c b/builtin/var.c index d9943be9afd..90616cf65a2 100644 --- a/builtin/var.c +++ b/builtin/var.c @@ -5,6 +5,7 @@ */ #include "builtin.h" #include "config.h" +#include "editor.h" #include "ident.h" #include "refs.h" diff --git a/cache.h b/cache.h index f5eaea341c2..f469e250f30 100644 --- a/cache.h +++ b/cache.h @@ -665,10 +665,7 @@ int df_name_compare(const char *name1, size_t len1, int mode1, int name_compare(const char *name1, size_t len1, const char *name2, size_t len2); int cache_name_stage_compare(const char *name1, int len1, int stage1, const char *name2, int len2, int stage2); -const char *git_editor(void); -const char *git_sequence_editor(void); const char *git_pager(int stdout_is_tty); -int is_terminal_dumb(void); struct cache_def { struct strbuf path; diff --git a/color.c b/color.c index 672dcbb73a6..a8e8d5202ab 100644 --- a/color.c +++ b/color.c @@ -1,6 +1,7 @@ #include "cache.h" #include "config.h" #include "color.h" +#include "editor.h" #include "gettext.h" #include "hex.h" diff --git a/editor.c b/editor.c index 3bea3ef72f7..12025dfec37 100644 --- a/editor.c +++ b/editor.c @@ -2,12 +2,14 @@ #include "abspath.h" #include "advice.h" #include "config.h" +#include "editor.h" #include "environment.h" #include "gettext.h" #include "strbuf.h" #include "strvec.h" #include "run-command.h" #include "sigchain.h" +#include "wrapper.h" #ifndef DEFAULT_EDITOR #define DEFAULT_EDITOR "vi" @@ -130,3 +132,31 @@ int launch_sequence_editor(const char *path, struct strbuf *buffer, { return launch_specified_editor(git_sequence_editor(), path, buffer, env); } + +int strbuf_edit_interactively(struct strbuf *buffer, const char *path, + const char *const *env) +{ + char *path2 = NULL; + int fd, res = 0; + + if (!is_absolute_path(path)) + path = path2 = xstrdup(git_path("%s", path)); + + fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0666); + if (fd < 0) + res = error_errno(_("could not open '%s' for writing"), path); + else if (write_in_full(fd, buffer->buf, buffer->len) < 0) { + res = error_errno(_("could not write to '%s'"), path); + close(fd); + } else if (close(fd) < 0) + res = error_errno(_("could not close '%s'"), path); + else { + strbuf_reset(buffer); + if (launch_editor(path, buffer, env) < 0) + res = error_errno(_("could not edit '%s'"), path); + unlink(path); + } + + free(path2); + return res; +} diff --git a/editor.h b/editor.h new file mode 100644 index 00000000000..8016bb5e00b --- /dev/null +++ b/editor.h @@ -0,0 +1,34 @@ +#ifndef EDITOR_H +#define EDITOR_H + +struct strbuf; + +const char *git_editor(void); +const char *git_sequence_editor(void); +int is_terminal_dumb(void); + +/** + * Launch the user preferred editor to edit a file and fill the buffer + * with the file's contents upon the user completing their editing. The + * third argument can be used to set the environment which the editor is + * run in. If the buffer is NULL the editor is launched as usual but the + * file's contents are not read into the buffer upon completion. + */ +int launch_editor(const char *path, struct strbuf *buffer, + const char *const *env); + +int launch_sequence_editor(const char *path, struct strbuf *buffer, + const char *const *env); + +/* + * In contrast to `launch_editor()`, this function writes out the contents + * of the specified file first, then clears the `buffer`, then launches + * the editor and reads back in the file contents into the `buffer`. + * Finally, it deletes the temporary file. + * + * If `path` is relative, it refers to a file in the `.git` directory. + */ +int strbuf_edit_interactively(struct strbuf *buffer, const char *path, + const char *const *env); + +#endif diff --git a/pager.c b/pager.c index b66bbff2785..6367e8ef867 100644 --- a/pager.c +++ b/pager.c @@ -1,5 +1,6 @@ #include "cache.h" #include "config.h" +#include "editor.h" #include "run-command.h" #include "sigchain.h" #include "alias.h" diff --git a/rebase-interactive.c b/rebase-interactive.c index 48467a7bc4a..8a8fafa9231 100644 --- a/rebase-interactive.c +++ b/rebase-interactive.c @@ -1,5 +1,6 @@ #include "cache.h" #include "commit.h" +#include "editor.h" #include "environment.h" #include "gettext.h" #include "sequencer.h" diff --git a/sideband.c b/sideband.c index 0af582858bf..25e2a185716 100644 --- a/sideband.c +++ b/sideband.c @@ -1,6 +1,7 @@ #include "cache.h" #include "color.h" #include "config.h" +#include "editor.h" #include "gettext.h" #include "sideband.h" #include "help.h" diff --git a/strbuf.c b/strbuf.c index b2e3735ba8a..729378ec824 100644 --- a/strbuf.c +++ b/strbuf.c @@ -1180,34 +1180,6 @@ int strbuf_normalize_path(struct strbuf *src) return 0; } -int strbuf_edit_interactively(struct strbuf *buffer, const char *path, - const char *const *env) -{ - char *path2 = NULL; - int fd, res = 0; - - if (!is_absolute_path(path)) - path = path2 = xstrdup(git_path("%s", path)); - - fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0666); - if (fd < 0) - res = error_errno(_("could not open '%s' for writing"), path); - else if (write_in_full(fd, buffer->buf, buffer->len) < 0) { - res = error_errno(_("could not write to '%s'"), path); - close(fd); - } else if (close(fd) < 0) - res = error_errno(_("could not close '%s'"), path); - else { - strbuf_reset(buffer); - if (launch_editor(path, buffer, env) < 0) - res = error_errno(_("could not edit '%s'"), path); - unlink(path); - } - - free(path2); - return res; -} - void strbuf_strip_file_from_path(struct strbuf *sb) { char *path_sep = find_last_dir_sep(sb->buf); diff --git a/strbuf.h b/strbuf.h index b980f9edc6d..3dfeadb44c2 100644 --- a/strbuf.h +++ b/strbuf.h @@ -640,30 +640,6 @@ void strbuf_repo_add_unique_abbrev(struct strbuf *sb, struct repository *repo, void strbuf_add_unique_abbrev(struct strbuf *sb, const struct object_id *oid, int abbrev_len); -/** - * Launch the user preferred editor to edit a file and fill the buffer - * with the file's contents upon the user completing their editing. The - * third argument can be used to set the environment which the editor is - * run in. If the buffer is NULL the editor is launched as usual but the - * file's contents are not read into the buffer upon completion. - */ -int launch_editor(const char *path, struct strbuf *buffer, - const char *const *env); - -int launch_sequence_editor(const char *path, struct strbuf *buffer, - const char *const *env); - -/* - * In contrast to `launch_editor()`, this function writes out the contents - * of the specified file first, then clears the `buffer`, then launches - * the editor and reads back in the file contents into the `buffer`. - * Finally, it deletes the temporary file. - * - * If `path` is relative, it refers to a file in the `.git` directory. - */ -int strbuf_edit_interactively(struct strbuf *buffer, const char *path, - const char *const *env); - /* * Remove the filename from the provided path string. If the path * contains a trailing separator, then the path is considered a directory From patchwork Sat Apr 1 15:10:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197069 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 92E7BC761AF for ; Sat, 1 Apr 2023 15:11:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229714AbjDAPLb (ORCPT ); Sat, 1 Apr 2023 11:11:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42622 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229977AbjDAPK6 (ORCPT ); Sat, 1 Apr 2023 11:10:58 -0400 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 241641D2C6 for ; Sat, 1 Apr 2023 08:10:54 -0700 (PDT) Received: by mail-wm1-x333.google.com with SMTP id bg16-20020a05600c3c9000b003eb34e21bdfso17162288wmb.0 for ; Sat, 01 Apr 2023 08:10:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361852; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=+g/Sly1PVYaV4QH/BxmGyrWtJFgO4Ex0geMsimjD2FA=; b=jYcL3TnMKazTlJqdW5knEf2GqNfEamTM1AJxuQR68QaY7dDw+hNgnOEKOOy0hx5CKI xQMnbRiFGJ2zmUBG5m2EKyg8EkMI66PFLMcMLzGdyiukr4SEQVeQGELE7TTaobPh++Yk fQl1NQvS3M6pi3ZlasMYVyZ01YCiN+C/bCQsI6hn4Q8oLZgCI37uZjMMwt029uxH6ciz Tq+sPv7dlhQKlCQKFyLLx+9PZJvfO+0NmwdZkw3XVlLzQcJT/F07Kb2kjkyZd/xngAB6 rtIDZ7sXYcc5MJ19qhds9XHtniOjGC51Juy+FHfa3Q+6KP2o61n2idK78Ys5qaPGrqNd J6uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361852; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+g/Sly1PVYaV4QH/BxmGyrWtJFgO4Ex0geMsimjD2FA=; b=m2hK4KZuR9nDtD042dm9nck/j2ZI0UR2EGowro0BNlqqKl0ij/JcoVyC3eypqOKmWF KOQkbpN47Xd1kIwO+tx7x/M48ad4VswntxdK4gutRomFGjf2legSa2q4q86FkKmvSA6D asAq0Sprk+3aHR3JMFxdbPBGgs57auc4UMAEHtcib95agL1rcu1pgnNKrDLMpc2NS0Q7 N6Y+bpFUhNFqomP513q1VFAZfhYcRlTnKKqilVq4xXT9bqGZvyk4qqg9cgXT2dagtova gizcMR8Si+ZHf5dp8dtht2yM2NtrOVXugSE934s/oJrMzLXxwELIVhEgIrLyvQNzif5y XPIA== X-Gm-Message-State: AAQBX9fGMVPL/64ef2msLvgVrXTwg1DBBzfJJRflNMjLDjRSZk0JEv3c S7Q9FWqsWG4hVazRbi70BX5q2QtG7oM= X-Google-Smtp-Source: AKy350aTFwW5O+rw88AuZTFSwt9/C+c9JR2MCpylaZ6xU+NZL6osbHe9tw00if842emr9uG6ekwapA== X-Received: by 2002:a7b:cd18:0:b0:3ef:6aa1:9284 with SMTP id f24-20020a7bcd18000000b003ef6aa19284mr17019222wmj.29.1680361851934; Sat, 01 Apr 2023 08:10:51 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id fc11-20020a05600c524b00b003ebff290a52sm13533843wmb.28.2023.04.01.08.10.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:51 -0700 (PDT) Message-Id: <4b41942a24ee6845eb4f3055619c5cdb3667bd13.1680361840.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:29 +0000 Subject: [PATCH 16/24] treewide: remove cache.h inclusion due to editor.h changes Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren This actually only affects sideband.c, but helps towards removing cache.h inclusion in conjunction with some of the upcoming patches that will be applied. Signed-off-by: Elijah Newren --- sideband.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sideband.c b/sideband.c index 25e2a185716..6cbfd391c47 100644 --- a/sideband.c +++ b/sideband.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "color.h" #include "config.h" #include "editor.h" From patchwork Sat Apr 1 15:10:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197067 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BEE7CC76196 for ; Sat, 1 Apr 2023 15:11:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230196AbjDAPL2 (ORCPT ); Sat, 1 Apr 2023 11:11:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42628 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229933AbjDAPKz (ORCPT ); Sat, 1 Apr 2023 11:10:55 -0400 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 37C301EFC4 for ; Sat, 1 Apr 2023 08:10:53 -0700 (PDT) Received: by mail-wm1-x32c.google.com with SMTP id n10-20020a05600c4f8a00b003ee93d2c914so16805790wmq.2 for ; Sat, 01 Apr 2023 08:10:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361852; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=mQeudPBF1q2Yx00MlhRUxbwAiTjwEVyIQFEWB99WrK4=; b=qHk78wm9cbKlpXCVnUMOi4s6uuiglwrGWsywXf9ZGXjm6jI7aisx/c+HxfbDTF4Gin mRveFk4V1VqGiH+YpUF6G8TWs8jJNMo3hxCIoKO2hk/ug9t9q8hwFyDF78iCzAB/sXS+ y8A43et/X7nAl3ODEZ9e/OJF4mo27qtcGsfnOd/vwKYgYIk6kOZVZAMvlpIZiOGVu5vl LFpZWfI2nWVmhkRC1rAt5QetXlgDC+9Xh0YSw78Zdl5rCqQWaBzV5pDuKH2MjDhtvfo6 X0TRUm8oCdGrFi6pllqdJh4xoLaVgNEwEvGeEoc+JCshgie/dmFdyfbVkQZuPqWczFTQ EdOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361852; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mQeudPBF1q2Yx00MlhRUxbwAiTjwEVyIQFEWB99WrK4=; b=bHIxhcplrdCk0LY894twYNRwI0ESm6G33H+sZMJNQJVCWnHaFkn1KcpQcI2dh5OP/i 2cpjcFFkuR1C9llxKrGWbRsFYaDu4gUALl72dKwMuCuNGFo5xgjlcrI+LbVFEKlgkJG1 lSndBF6VfJ+7opij4ituQ8BPlmVSmwJ0o8OZxX1J9KOmLHSVKLnMI2ptTzELORcsMBQC CwRrNPYeK4hamLwbZMqfxJK92sT0j3vPfV6o/eOCm/LC1GWMbgdpnY9/OZ8SM4iE3uN1 Zn9YiFSwQb2UEG25tld5NxjQ8cCVl/Xb78wVXiDXZEaB/A5soO6lL5McWJenbDeDNyT7 TOaQ== X-Gm-Message-State: AAQBX9d/VPWdNWYl1X10+XJ+9FRHPMBN8yz6bjnHODCw3P1azEtMAYWv wxv/dtd5PrRlvLW6Mf5QKDgIEfh+Kes= X-Google-Smtp-Source: AKy350YAi44bnKly+rUdtVM3Vntk/8GUSHLgXcSG0wUpFgWJfoLotpkDml1hQfPJbC4ccdAGtp8CGQ== X-Received: by 2002:a05:600c:3ba3:b0:3f0:4d9b:7cb2 with SMTP id n35-20020a05600c3ba300b003f04d9b7cb2mr374324wms.3.1680361852536; Sat, 01 Apr 2023 08:10:52 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id n13-20020a7bc5cd000000b003ede3e54ed7sm6371807wmk.6.2023.04.01.08.10.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:52 -0700 (PDT) Message-Id: In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:30 +0000 Subject: [PATCH 17/24] pager.h: move declarations for pager.c functions from cache.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- builtin/am.c | 1 + builtin/blame.c | 1 + builtin/fetch.c | 1 + builtin/grep.c | 1 + builtin/help.c | 1 + builtin/log.c | 1 + builtin/name-rev.c | 1 + builtin/var.c | 1 + cache.h | 12 ------------ color.c | 1 + column.c | 1 + config.c | 1 + date.c | 1 + diff.c | 1 + editor.c | 1 + environment.c | 1 - git.c | 1 + pager.c | 3 +++ pager.h | 17 +++++++++++++++++ pretty.c | 1 + progress.c | 1 + range-diff.c | 1 + sequencer.c | 1 + 23 files changed, 39 insertions(+), 13 deletions(-) create mode 100644 pager.h diff --git a/builtin/am.c b/builtin/am.c index f7a065e5290..5c83f2e003f 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -40,6 +40,7 @@ #include "apply.h" #include "string-list.h" #include "packfile.h" +#include "pager.h" #include "repository.h" #include "pretty.h" #include "wrapper.h" diff --git a/builtin/blame.c b/builtin/blame.c index a628388c2ce..2df6039a6e0 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -30,6 +30,7 @@ #include "progress.h" #include "object-name.h" #include "object-store.h" +#include "pager.h" #include "blame.h" #include "refs.h" #include "setup.h" diff --git a/builtin/fetch.c b/builtin/fetch.c index 8a8ab6799e8..61e8ac113b1 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -28,6 +28,7 @@ #include "strvec.h" #include "utf8.h" #include "packfile.h" +#include "pager.h" #include "list-objects-filter-options.h" #include "commit-reach.h" #include "branch.h" diff --git a/builtin/grep.c b/builtin/grep.c index fb11be6075a..b86c754defb 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -30,6 +30,7 @@ #include "object-name.h" #include "object-store.h" #include "packfile.h" +#include "pager.h" #include "write-or-die.h" static const char *grep_prefix; diff --git a/builtin/help.c b/builtin/help.c index 87333a02ec4..128aa83099a 100644 --- a/builtin/help.c +++ b/builtin/help.c @@ -6,6 +6,7 @@ #include "builtin.h" #include "exec-cmd.h" #include "gettext.h" +#include "pager.h" #include "parse-options.h" #include "run-command.h" #include "config-list.h" diff --git a/builtin/log.c b/builtin/log.c index b6246c7042c..95de51921f8 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -15,6 +15,7 @@ #include "object-file.h" #include "object-name.h" #include "object-store.h" +#include "pager.h" #include "color.h" #include "commit.h" #include "diff.h" diff --git a/builtin/name-rev.c b/builtin/name-rev.c index 41fd56b9ba9..593f0506a10 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -9,6 +9,7 @@ #include "tag.h" #include "refs.h" #include "object-name.h" +#include "pager.h" #include "parse-options.h" #include "prio-queue.h" #include "hash-lookup.h" diff --git a/builtin/var.c b/builtin/var.c index 90616cf65a2..aa8150fa92e 100644 --- a/builtin/var.c +++ b/builtin/var.c @@ -7,6 +7,7 @@ #include "config.h" #include "editor.h" #include "ident.h" +#include "pager.h" #include "refs.h" static const char var_usage[] = "git var (-l | )"; diff --git a/cache.h b/cache.h index f469e250f30..b136b0c51ef 100644 --- a/cache.h +++ b/cache.h @@ -665,8 +665,6 @@ int df_name_compare(const char *name1, size_t len1, int mode1, int name_compare(const char *name1, size_t len1, const char *name2, size_t len2); int cache_name_stage_compare(const char *name1, int len1, int stage1, const char *name2, int len2, int stage2); -const char *git_pager(int stdout_is_tty); - struct cache_def { struct strbuf path; int flags; @@ -723,16 +721,6 @@ int copy_fd(int ifd, int ofd); int copy_file(const char *dst, const char *src, int mode); int copy_file_with_time(const char *dst, const char *src, int mode); -/* pager.c */ -void setup_pager(void); -int pager_in_use(void); -extern int pager_use_color; -int term_columns(void); -void term_clear_line(void); -int decimal_width(uintmax_t); -int check_pager_config(const char *cmd); -void prepare_pager_args(struct child_process *, const char *pager); - /* base85 */ int decode_85(char *dst, const char *line, int linelen); void encode_85(char *buf, const unsigned char *data, int bytes); diff --git a/color.c b/color.c index a8e8d5202ab..6031998d3ea 100644 --- a/color.c +++ b/color.c @@ -4,6 +4,7 @@ #include "editor.h" #include "gettext.h" #include "hex.h" +#include "pager.h" static int git_use_color_default = GIT_COLOR_AUTO; int color_stdout_is_tty = -1; diff --git a/column.c b/column.c index fbf88639aae..c89c90328a6 100644 --- a/column.c +++ b/column.c @@ -2,6 +2,7 @@ #include "config.h" #include "column.h" #include "string-list.h" +#include "pager.h" #include "parse-options.h" #include "run-command.h" #include "utf8.h" diff --git a/config.c b/config.c index aac439530e9..11e3295419b 100644 --- a/config.c +++ b/config.c @@ -25,6 +25,7 @@ #include "string-list.h" #include "object-name.h" #include "object-store.h" +#include "pager.h" #include "utf8.h" #include "dir.h" #include "color.h" diff --git a/date.c b/date.c index 1fb2cd1b538..e944c8905af 100644 --- a/date.c +++ b/date.c @@ -7,6 +7,7 @@ #include "cache.h" #include "date.h" #include "gettext.h" +#include "pager.h" /* * This is like mktime, but without normalization of tm_wday and tm_yday. diff --git a/diff.c b/diff.c index f8e0d3b5c59..fa86d023196 100644 --- a/diff.c +++ b/diff.c @@ -31,6 +31,7 @@ #include "graph.h" #include "oid-array.h" #include "packfile.h" +#include "pager.h" #include "parse-options.h" #include "help.h" #include "promisor-remote.h" diff --git a/editor.c b/editor.c index 12025dfec37..7c796385493 100644 --- a/editor.c +++ b/editor.c @@ -5,6 +5,7 @@ #include "editor.h" #include "environment.h" #include "gettext.h" +#include "pager.h" #include "strbuf.h" #include "strvec.h" #include "run-command.h" diff --git a/environment.c b/environment.c index 39efa49fe31..8a96997539a 100644 --- a/environment.c +++ b/environment.c @@ -59,7 +59,6 @@ size_t packed_git_window_size = DEFAULT_PACKED_GIT_WINDOW_SIZE; size_t packed_git_limit = DEFAULT_PACKED_GIT_LIMIT; size_t delta_base_cache_limit = 96 * 1024 * 1024; unsigned long big_file_threshold = 512 * 1024 * 1024; -int pager_use_color = 1; const char *editor_program; const char *askpass_program; const char *excludes_file; diff --git a/git.c b/git.c index d2bb86e0d32..0241d2cf913 100644 --- a/git.c +++ b/git.c @@ -4,6 +4,7 @@ #include "exec-cmd.h" #include "gettext.h" #include "help.h" +#include "pager.h" #include "run-command.h" #include "alias.h" #include "replace-object.h" diff --git a/pager.c b/pager.c index 6367e8ef867..be78c706644 100644 --- a/pager.c +++ b/pager.c @@ -1,10 +1,13 @@ #include "cache.h" #include "config.h" #include "editor.h" +#include "pager.h" #include "run-command.h" #include "sigchain.h" #include "alias.h" +int pager_use_color = 1; + #ifndef DEFAULT_PAGER #define DEFAULT_PAGER "less" #endif diff --git a/pager.h b/pager.h new file mode 100644 index 00000000000..b77433026dc --- /dev/null +++ b/pager.h @@ -0,0 +1,17 @@ +#ifndef PAGER_H +#define PAGER_H + +struct child_process; + +const char *git_pager(int stdout_is_tty); +void setup_pager(void); +int pager_in_use(void); +int term_columns(void); +void term_clear_line(void); +int decimal_width(uintmax_t); +int check_pager_config(const char *cmd); +void prepare_pager_args(struct child_process *, const char *pager); + +extern int pager_use_color; + +#endif /* PAGER_H */ diff --git a/pretty.c b/pretty.c index 76fc4f61e40..c4671603b56 100644 --- a/pretty.c +++ b/pretty.c @@ -7,6 +7,7 @@ #include "hex.h" #include "utf8.h" #include "diff.h" +#include "pager.h" #include "revision.h" #include "string-list.h" #include "mailmap.h" diff --git a/progress.c b/progress.c index c5c8514737a..96a8e36a52f 100644 --- a/progress.c +++ b/progress.c @@ -10,6 +10,7 @@ #define GIT_TEST_PROGRESS_ONLY #include "cache.h" +#include "pager.h" #include "progress.h" #include "strbuf.h" #include "trace.h" diff --git a/range-diff.c b/range-diff.c index a2994331a14..a1e0cffb9f6 100644 --- a/range-diff.c +++ b/range-diff.c @@ -11,6 +11,7 @@ #include "linear-assignment.h" #include "diffcore.h" #include "commit.h" +#include "pager.h" #include "pretty.h" #include "userdiff.h" #include "apply.h" diff --git a/sequencer.c b/sequencer.c index be10249fd0a..fcca3b81447 100644 --- a/sequencer.c +++ b/sequencer.c @@ -12,6 +12,7 @@ #include "object-name.h" #include "object-store.h" #include "object.h" +#include "pager.h" #include "commit.h" #include "sequencer.h" #include "tag.h" From patchwork Sat Apr 1 15:10:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197076 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3FB8DC76196 for ; Sat, 1 Apr 2023 15:11:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230190AbjDAPLw (ORCPT ); Sat, 1 Apr 2023 11:11:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229767AbjDAPL1 (ORCPT ); Sat, 1 Apr 2023 11:11:27 -0400 Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4ED0723697 for ; Sat, 1 Apr 2023 08:10:55 -0700 (PDT) Received: by mail-wr1-x42c.google.com with SMTP id h17so25177034wrt.8 for ; Sat, 01 Apr 2023 08:10:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361853; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=aLKg0DwoqjoHtaoct0QH6EK00i9tJDM3G325lXtJOdw=; b=JpgFUGJZ6V7MCsVVjR2iamiazy/SHBQtmgUW4tz5FKPQ6cjt5YOnY19slNnci6ab/3 y4pyw4tf9iBLBNUMkVFwcRj4Di6/Pn6jtIVREgOX/BjdUr8fFsQvLd0dPva6tt9LitOA MVs7aO7LMFAXYbB3D9px52ko0xfaW7jTYIdeOg5GYGLje/GYoEKcIDSXHptrpg8CJfVo euyCj5C0v+DgW01XCZz9cOaKFUXyZI8ANGnpmNuFF22FJCpollVafX3SezmhPNohrq8t yxVnWSmYDVxs0+cg9vS0REeZ71j009xz/A+uj79SWXENSH50xFUPVRqm1JVoaQM7d1bb njSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361853; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aLKg0DwoqjoHtaoct0QH6EK00i9tJDM3G325lXtJOdw=; b=HeT0SzAsLtnCaIaAM4L4cTYgAwA25dlTOnraVSkgxGQs7g6esV2LLfL9fWwvtNKlL7 KlJCw66KEEzYPsIvc0UHJYFLvSY4XfXiMYQ8NcwfGxI//ImqutgRm6JOnDZau75QB8QD wOYt8FQ9Umr2nophBBiVKtavp6H3FGI8nArSrzZymkFgmqtTa6wfJt1wbV0DODB5cHsD jnZZpZQd1BG8SCsRbiRBODu9OP2jzxk7fmFwzATPLxtpBZg1gv0ctAX8/jxSUr7MLW23 NS3rv+6tyaaN5bZid+DJWTeYCAk46/cUp5DSxfA3xVI6Xa92CKzSzPS/4HYkz1KFqqUX ZdwA== X-Gm-Message-State: AAQBX9e3FqPOZrAtDRdCxkrmo152ft5/FpwjLt6dCOkgdXkFmM6m5axx rUmjlkUcGEfXnzOW9A/xyhLjY2Q2qXQ= X-Google-Smtp-Source: AKy350Y0jAMBQzbmhHAz2LHE5Th9RN+kvJttPxAN4M6oZMOUSRRzYnPj1i6rXiarsWfaKdDTslMMwg== X-Received: by 2002:adf:f9c3:0:b0:2d5:5610:e7b4 with SMTP id w3-20020adff9c3000000b002d55610e7b4mr22536661wrr.64.1680361853188; Sat, 01 Apr 2023 08:10:53 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id r13-20020adff10d000000b002e45f6ffe63sm5111296wro.26.2023.04.01.08.10.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:53 -0700 (PDT) Message-Id: In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:31 +0000 Subject: [PATCH 18/24] treewide: remove cache.h inclusion due to pager.h changes Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- column.c | 2 +- editor.c | 2 +- pager.c | 2 +- pretty.c | 2 +- progress.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/column.c b/column.c index c89c90328a6..ff2f0abf399 100644 --- a/column.c +++ b/column.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "column.h" #include "string-list.h" diff --git a/editor.c b/editor.c index 7c796385493..b34e10606d2 100644 --- a/editor.c +++ b/editor.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "advice.h" #include "config.h" diff --git a/pager.c b/pager.c index be78c706644..63055d0873f 100644 --- a/pager.c +++ b/pager.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "config.h" #include "editor.h" #include "pager.h" diff --git a/pretty.c b/pretty.c index c4671603b56..0bb938021ba 100644 --- a/pretty.c +++ b/pretty.c @@ -1,4 +1,4 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" #include "config.h" #include "commit.h" diff --git a/progress.c b/progress.c index 96a8e36a52f..72d5e0c73c1 100644 --- a/progress.c +++ b/progress.c @@ -9,7 +9,7 @@ */ #define GIT_TEST_PROGRESS_ONLY -#include "cache.h" +#include "git-compat-util.h" #include "pager.h" #include "progress.h" #include "strbuf.h" From patchwork Sat Apr 1 15:10:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197071 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1210EC76196 for ; Sat, 1 Apr 2023 15:11:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230162AbjDAPLf (ORCPT ); Sat, 1 Apr 2023 11:11:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42988 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230150AbjDAPK7 (ORCPT ); Sat, 1 Apr 2023 11:10:59 -0400 Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8FDA92443A for ; Sat, 1 Apr 2023 08:10:55 -0700 (PDT) Received: by mail-wm1-x32e.google.com with SMTP id v20-20020a05600c471400b003ed8826253aso5540637wmo.0 for ; Sat, 01 Apr 2023 08:10:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361853; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=R+RNOdWpR6+cEk5NvCVSKp2RUkJRzT1mejUgzzk7/x0=; b=UQ/TQ/JV3XQjn2p2ZP220rH53uAL0eouvNoK2SNgAoPxLi4WUcVEF49lMSarUU/h6Q BXy8vcR3mCsZj5gz3O5/bBaPvSvxh6ruvhJeWQ2JGITIBeFUrZBtx4qaECyIO3pPpH/4 jNHQW0Rx0UhrV7zg6aV3dw1xADt/Ohj3GpNzqb7ZIcSz0D48ya1EZtrpgfVxs1HhunPM c9YCW840g6lcXOC22bCwdgAGkpEZammS7WXdwcSYozkS8R0p76xCJegUC1VRIVVMotN8 q04KJLZhGw8uFTwqL4p2PyTUQUhkFGvttHXHC6Re6lLyBOnLruyDkMh67EosAEHeqItL GT+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361853; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=R+RNOdWpR6+cEk5NvCVSKp2RUkJRzT1mejUgzzk7/x0=; b=h68G2J1KB+L5rMTUMiuGmPu9NkJRVumXeKoVGdMHqkns02j/+UOE/uz7Mp8Mf7m2jN wCyD6+htDtEDvH/rP1HRegK0YnlT0d4a7PjawHSAfk3jfg4wxKr8t/Bch4YeNgeExUSx jBDZxpEGn1bev0aTrvm1Ax/VTC9rfIuCU+ly0QXF2bjrmgC5GfQhXXQmm8OgmkrPjLyb yMo4WuUxnV5M4HzW5B8aDJAYhPF5PDjaPUkcwzrheEed53AdJZOMYAYCdX5FdTzAEoJA 4hYpTGaI1xlF+SQjsrhE355SmOaMJJOv8qOFaJfPWTV+wvAn+sMDPOKBKvbW60fcel7m Jveg== X-Gm-Message-State: AAQBX9ev19LTWRgUvxOzMDkU8Puh8NzPNotxvqUvGLcG/hsxO9V8iRAZ h1YuhP84iXkjBvpygiM34CVj4aDB8Uk= X-Google-Smtp-Source: AKy350ZBo7owjSat7UWDpBwZa4wtaBdtcs1g87ZZTgJD6wyg6xUw4iHlUN8jgp5qZ3AvEzN9vm5EeA== X-Received: by 2002:a05:600c:3791:b0:3f0:3d41:bda2 with SMTP id o17-20020a05600c379100b003f03d41bda2mr5712893wmr.39.1680361853801; Sat, 01 Apr 2023 08:10:53 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id p11-20020a1c740b000000b003eb596cbc54sm6436507wmc.0.2023.04.01.08.10.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:53 -0700 (PDT) Message-Id: In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:32 +0000 Subject: [PATCH 19/24] cache.h: remove unnecessary includes Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren cache.h did not need any of these headers, and nothing that depended upon cache.h needed them either. Simply expunge these includes. Signed-off-by: Elijah Newren --- cache.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cache.h b/cache.h index b136b0c51ef..3c3e40b52e8 100644 --- a/cache.h +++ b/cache.h @@ -5,14 +5,10 @@ #include "strbuf.h" #include "git-zlib.h" #include "hashmap.h" -#include "list.h" #include "gettext.h" #include "string-list.h" -#include "hash.h" -#include "path.h" #include "pathspec.h" #include "object.h" -#include "repository.h" #include "statinfo.h" #if defined(DT_UNKNOWN) && !defined(NO_D_TYPE_IN_DIRENT) From patchwork Sat Apr 1 15:10:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197070 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2A32FC76196 for ; Sat, 1 Apr 2023 15:11:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229804AbjDAPLd (ORCPT ); Sat, 1 Apr 2023 11:11:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42894 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230162AbjDAPK6 (ORCPT ); Sat, 1 Apr 2023 11:10:58 -0400 Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E17851F7B2 for ; Sat, 1 Apr 2023 08:10:54 -0700 (PDT) Received: by mail-wm1-x336.google.com with SMTP id s13so14564327wmr.4 for ; Sat, 01 Apr 2023 08:10:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361854; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=O+giBddeP/vAOtEknKR5vDnEexHLIbZoW933D35Ivkg=; b=OEbmzuYjZMdHed/W+ImnTRTnuU2s6df6BxgsdjzTQ0zxNBKUF3FcHw9LjwjJlqTjjk sLen+JU+96860guT+TgvhkAPVWuNOEzJClGZCTYNfzod4074oBavUdj+A4FSn6h88DJl YRSVJA+I7/UcIiz8kb4B4n2je2TdVna0yBDqLNlMxsI8VpCeETjNrXnT7z5Ne9N03Fpn mgOFBTNduii40lDfc0ghw8EBT2FfQ9Eayi9WebHgZOEAzshievbPke1FTMS6pKF2SoLy b3WTaj8C4+QNFv5ssf3pUSt1+txlBdanDHS1HBkuycMwCLDgzdTPn89UXnF4jNvUKvCk MKOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361854; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=O+giBddeP/vAOtEknKR5vDnEexHLIbZoW933D35Ivkg=; b=EkKCxozYtJZRxRGKbA12JJecy1TmJeG2gZ1B7EOi5JmkS+pNKBeQpczvenJI14XOe9 kC4cQIVtjfYNanT9h4REml/BvP0d+k6vh3d4+TEXuFeE8Na5sfWUYuDi2gQ88eFc16wg ix00j0jFYilP0Mk0Atd4o1YqRjdiduYgF3L2jxuix1oRD4peoM9VmJWDKQY3ZmLjwNGZ Ar5j/rpz6KtnVyTxyllhukKfTJzN9r25+oRWE6ky2ckA7cL/E1VEflow5/enpRdQJ9ZS OjT3qytDOmz3moW0xIFi2SdH8by6ElmEb5xJ7exli1oIHxkQknNQubz3X5+xmB2GWzgV epGQ== X-Gm-Message-State: AO0yUKU1FTFFEGn6cL+PXaxB64F1iIRJ+1FEkr/wJtNTcPN1B/Cw5fZ9 JAdtvEedWkBenNJ9XQHJYSkBXIiYhV4= X-Google-Smtp-Source: AK7set/mZ/r6Psi2z5TZaYXCps12LQvS/jdTAmq+XA5BNWGPitx6imXK8h7VyBlEGm0t9ADG4FP1ig== X-Received: by 2002:a7b:c7d4:0:b0:3eb:25ff:3446 with SMTP id z20-20020a7bc7d4000000b003eb25ff3446mr22453213wmk.4.1680361854249; Sat, 01 Apr 2023 08:10:54 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id n13-20020a7bc5cd000000b003ede3e54ed7sm6371896wmk.6.2023.04.01.08.10.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:54 -0700 (PDT) Message-Id: <7c3235c79433147d992bf9e4642f1ba7329fbdd1.1680361840.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:33 +0000 Subject: [PATCH 20/24] strbuf: move forward declarations to beginning of file Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- strbuf.h | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/strbuf.h b/strbuf.h index 3dfeadb44c2..547696fb233 100644 --- a/strbuf.h +++ b/strbuf.h @@ -1,6 +1,8 @@ #ifndef STRBUF_H #define STRBUF_H +struct object_id; +struct repository; struct string_list; /** @@ -72,12 +74,6 @@ struct strbuf { extern char strbuf_slopbuf[]; #define STRBUF_INIT { .buf = strbuf_slopbuf } -/* - * Predeclare this here, since cache.h includes this file before it defines the - * struct. - */ -struct object_id; - /** * Life Cycle Functions * -------------------- @@ -634,7 +630,6 @@ void strbuf_list_free(struct strbuf **list); * Add the abbreviation, as generated by repo_find_unique_abbrev(), of `sha1` to * the strbuf `sb`. */ -struct repository; void strbuf_repo_add_unique_abbrev(struct strbuf *sb, struct repository *repo, const struct object_id *oid, int abbrev_len); void strbuf_add_unique_abbrev(struct strbuf *sb, const struct object_id *oid, From patchwork Sat Apr 1 15:10:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197075 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CC08AC761AF for ; Sat, 1 Apr 2023 15:11:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230248AbjDAPLu (ORCPT ); Sat, 1 Apr 2023 11:11:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42628 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229543AbjDAPL0 (ORCPT ); Sat, 1 Apr 2023 11:11:26 -0400 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C0F192545C for ; Sat, 1 Apr 2023 08:10:56 -0700 (PDT) Received: by mail-wr1-x42e.google.com with SMTP id h17so25177074wrt.8 for ; Sat, 01 Apr 2023 08:10:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361855; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=kwPd9xbj6bIxxnpx9SW9S6fSLpH1pThrNZ6NWDy3RMM=; b=QajmNPwVIDigHWyhEXLmdG8sPlUnTBGarndfWuwLwz+Ckr8Mzq6nF0jra5ywuwE7lG 5gpSrectFo4TKwwnXUSXDRtfAd4sgwI8V/mPX4jYgVcUMXHXneUhaXTqdx43lVNdhUvb ALOoRFCdq54cHbTQhfVc0MviMCrNz9kYsYiSIF9z/RGyLYh80L5thPXLLkAJVZoLxVlc 9KphBAHf9kQTkhdGWEeZzKqmG+xPL57PXrOBWttswG2iIrjFdfikWnOduywefzZ35JCV pqQyLp2aY4Vkqf8a2BUmUOrdp2XiTZw7E2psksaN9ixNw1ycL/pEKIRMrZtELiU9WQ6+ JbTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361855; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kwPd9xbj6bIxxnpx9SW9S6fSLpH1pThrNZ6NWDy3RMM=; b=Ywp6WSw5dB/4qsLAP8uEW7DN55w+bg8id4fjGDKj7cVJvVDyWWJvFZgZiXruLnoLC3 ux16YY+1UdY9jXbUoy1nO4tTTdo7/ugV2CHa87fu1gMz+Q/dREt4tRQi9g0wAJHeUWkM etRd7Pd/WEwzU9exBt4JsLes4lwSWk0xSKDqIfQkRRTG3Njvj+aL02ILW05TkhRsTGPk 4UmxWmkQR5pj3Csr1fD8tBJlSByWOl2uhp6Fb/f3bmCQUFHWEKpnVt4mNN7JKx6HPHLm XCtV8x/a4kOXUaEsj5IEtg5pLXmKaNlRWiHDFS1C+Br4METOLfgSUogSGTPmozRoTfPe mkAw== X-Gm-Message-State: AAQBX9dEHcN8YvPh5e8SBpMeruOstCr5tRwtiCWDEDz4BF48wn9edFJf XibGAKgYm664g9/2Mg/07C2aJ3e1Ld4= X-Google-Smtp-Source: AKy350Zf7e/e95+GhKYu0XfHx8mnmZOSEy6gRLu/P7hTciYo9WH7ULZ1+t9XrQvSVMY0hkDo8QbipA== X-Received: by 2002:adf:f1d0:0:b0:2cf:eb5d:70b5 with SMTP id z16-20020adff1d0000000b002cfeb5d70b5mr22454752wro.15.1680361854859; Sat, 01 Apr 2023 08:10:54 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id p1-20020a5d68c1000000b002c59f18674asm5150807wrw.22.2023.04.01.08.10.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:54 -0700 (PDT) Message-Id: <3a0d78e2f9306748892c235740bd787f7e00eab1.1680361840.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:34 +0000 Subject: [PATCH 21/24] treewide: remove double forward declaration of read_in_full Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren cache.h's nature of a dumping ground of includes prevented it from being included in some compat/ files, forcing us into a workaround of having a double forward declaration of the read_in_full() function (see commit 14086b0a13 ("compat/pread.c: Add a forward declaration to fix a warning", 2007-11-17)). Now that we have moved functions like read_in_full() from cache.h to wrapper.h, and wrapper.h isn't littered with unrelated and scary #defines, get rid of the extra forward declaration and just have compat/pread.c include wrapper.h. Signed-off-by: Elijah Newren --- builtin/clone.c | 1 + bulk-checkin.c | 1 + combine-diff.c | 1 + compat/pread.c | 1 + git-compat-util.h | 6 ------ grep.c | 1 + pack-write.c | 1 + path.c | 1 + refs/packed-backend.c | 1 + send-pack.c | 1 + setup.c | 1 + upload-pack.c | 1 + 12 files changed, 11 insertions(+), 6 deletions(-) diff --git a/builtin/clone.c b/builtin/clone.c index c7fdffb484c..4ed0a1d5aad 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -42,6 +42,7 @@ #include "hook.h" #include "bundle.h" #include "bundle-uri.h" +#include "wrapper.h" /* * Overall FIXMEs: diff --git a/bulk-checkin.c b/bulk-checkin.c index 9192298db6a..d843279715c 100644 --- a/bulk-checkin.c +++ b/bulk-checkin.c @@ -17,6 +17,7 @@ #include "packfile.h" #include "object-file.h" #include "object-store.h" +#include "wrapper.h" static int odb_transaction_nesting; diff --git a/combine-diff.c b/combine-diff.c index cd5f39f22f4..f7e9fb57473 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -16,6 +16,7 @@ #include "userdiff.h" #include "oid-array.h" #include "revision.h" +#include "wrapper.h" static int compare_paths(const struct combine_diff_path *one, const struct diff_filespec *two) diff --git a/compat/pread.c b/compat/pread.c index 978cac4ec91..484e6d4c716 100644 --- a/compat/pread.c +++ b/compat/pread.c @@ -1,4 +1,5 @@ #include "../git-compat-util.h" +#include "../wrapper.h" ssize_t git_pread(int fd, void *buf, size_t count, off_t offset) { diff --git a/git-compat-util.h b/git-compat-util.h index 1e6592624d0..4fb771f42a5 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -859,12 +859,6 @@ int git_lstat(const char *, struct stat *); #define pread git_pread ssize_t git_pread(int fd, void *buf, size_t count, off_t offset); #endif -/* - * Forward decl that will remind us if its twin in cache.h changes. - * This function is used in compat/pread.c. But we can't include - * cache.h there. - */ -ssize_t read_in_full(int fd, void *buf, size_t count); #ifdef NO_SETENV #define setenv gitsetenv diff --git a/grep.c b/grep.c index bb8796a829f..d144b374894 100644 --- a/grep.c +++ b/grep.c @@ -11,6 +11,7 @@ #include "commit.h" #include "quote.h" #include "help.h" +#include "wrapper.h" static int grep_source_load(struct grep_source *gs); static int grep_source_is_binary(struct grep_source *gs, diff --git a/pack-write.c b/pack-write.c index d9b460fab4c..9c37121be31 100644 --- a/pack-write.c +++ b/pack-write.c @@ -10,6 +10,7 @@ #include "oidmap.h" #include "pack-objects.h" #include "pack-revindex.h" +#include "wrapper.h" void reset_pack_idx_option(struct pack_idx_option *opts) { diff --git a/path.c b/path.c index dff215ac693..7c1cd8182a8 100644 --- a/path.c +++ b/path.c @@ -18,6 +18,7 @@ #include "object-store.h" #include "lockfile.h" #include "exec-cmd.h" +#include "wrapper.h" static int get_st_mode_bits(const char *path, int *mode) { diff --git a/refs/packed-backend.c b/refs/packed-backend.c index 1eba1015dd5..2333ed5a1f7 100644 --- a/refs/packed-backend.c +++ b/refs/packed-backend.c @@ -9,6 +9,7 @@ #include "../iterator.h" #include "../lockfile.h" #include "../chdir-notify.h" +#include "../wrapper.h" #include "../write-or-die.h" enum mmap_strategy { diff --git a/send-pack.c b/send-pack.c index 72ebb7b61ae..351037b07bc 100644 --- a/send-pack.c +++ b/send-pack.c @@ -14,6 +14,7 @@ #include "quote.h" #include "transport.h" #include "version.h" +#include "wrapper.h" #include "oid-array.h" #include "gpg-interface.h" #include "shallow.h" diff --git a/setup.c b/setup.c index a546da755f1..59abc16ba6d 100644 --- a/setup.c +++ b/setup.c @@ -12,6 +12,7 @@ #include "promisor-remote.h" #include "quote.h" #include "trace2.h" +#include "wrapper.h" static int inside_git_dir = -1; static int inside_work_tree = -1; diff --git a/upload-pack.c b/upload-pack.c index 0305fb2fbdc..e16dee783dd 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -32,6 +32,7 @@ #include "commit-graph.h" #include "commit-reach.h" #include "shallow.h" +#include "wrapper.h" #include "write-or-die.h" /* Remember to update object flag allocation in object.h */ From patchwork Sat Apr 1 15:10:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197074 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 35323C6FD1D for ; Sat, 1 Apr 2023 15:11:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230239AbjDAPLs (ORCPT ); Sat, 1 Apr 2023 11:11:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42624 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229488AbjDAPL0 (ORCPT ); Sat, 1 Apr 2023 11:11:26 -0400 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74B7A25473 for ; Sat, 1 Apr 2023 08:10:57 -0700 (PDT) Received: by mail-wm1-x333.google.com with SMTP id l15-20020a05600c4f0f00b003ef6d684102so11831262wmq.3 for ; Sat, 01 Apr 2023 08:10:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361855; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=ukccWYzmlNzBYLB4Y0DURMPte1jAyunBFMedtYyj2dk=; b=QOYn9REJy7Y9PDM7ZCmL3Q9EE2s/3x3fM87WlIFN2UWePpFUNGpir6kdGAfTG/vp3G pAbg1ATH/qXUa/u1x9Gk+A6YNN5iH58g+qFSMoOnrQ60tj6GVxHnAj6J9wb/wTBgloCn dJ2MmWz9Iga8QAU4/BgMn8fLGbd6M+gkBzDvDgHMt23sGojRdqnm1nXX6fv+Dsw8Kuih EQmoa1OOIZqjCfmBB35CC3hF+1gktYDcsGdzC2w0g9H7ynQ8lT8f4zlp/Jw7ZMdQ7ld/ 2HZyFMEORckFsocrt3T5LGW4SNMjPtvw2JE68ngBkDrhlNmAhydeNRaGzufuDTnENok1 7acA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361855; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ukccWYzmlNzBYLB4Y0DURMPte1jAyunBFMedtYyj2dk=; b=RGjEV+zJlxSRF2mCNpJAkrkeymVVXZM0Cmo++6YcsX3JahST4uSEuj9RgpYzO/Y7GL I9fTc2pKKDM1Cr1vxJbBra3HGv8QzGrHG1XdLN3aulQm2ZZ3a0EqzD0MJ+1j0hSHNiJk FoNLognOzsUW+fz9wD1BNz/h4+u2JBD2X8fJ46z4fQd7zkfO7mmYJlkMKDsw5VRSBkLI bm2rlKumR380aC49494Pk4HPpidj8oNGaXehg74PVunl9sOq0/YTFJRqHmIXtiOOH7rr WTC4kBRRakbBG0oRmcnGAmNaUelYEXaCWIFwyQrC4weLtmq+xPVA63lXnkjrWADpzeza afsQ== X-Gm-Message-State: AO0yUKXa1rRRwbqy7yIBe+C4ptKcuaMG+5YFhK/teyKLtjh8a0g0dYTZ 1aPrRPGi6I2E3wekYmNhewUxP7Vhzeo= X-Google-Smtp-Source: AK7set9zJo81zdPSJGkmayIGfJ641Yblut1IiRl4h2BZW5pH/cDuTUpB4KmvvBJsaMnmyEGpSvXGUg== X-Received: by 2002:a05:600c:2157:b0:3ed:cf2a:3fe8 with SMTP id v23-20020a05600c215700b003edcf2a3fe8mr24093597wml.8.1680361855554; Sat, 01 Apr 2023 08:10:55 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id u25-20020a7bc059000000b003ede06f3178sm6325784wmc.31.2023.04.01.08.10.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:55 -0700 (PDT) Message-Id: In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:35 +0000 Subject: [PATCH 22/24] treewide: reduce includes of cache.h in other headers Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren We had a handful of headers including cache.h that didn't need to anymore. Drop those includes and replace them with includes of smaller files, or forward declarations. However, note that two .c files now need to directly include cache.h, though they should have been including it all along given they are directly using structs defined in it. Signed-off-by: Elijah Newren --- archive.h | 2 +- refs/ref-cache.h | 2 +- rerere.c | 2 +- resolve-undo.h | 7 ++++++- revision.c | 2 +- split-index.h | 2 +- 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/archive.h b/archive.h index f96839ef383..3a4bdfbd078 100644 --- a/archive.h +++ b/archive.h @@ -1,9 +1,9 @@ #ifndef ARCHIVE_H #define ARCHIVE_H -#include "cache.h" #include "object-name.h" #include "pathspec.h" +#include "string-list.h" struct repository; struct pretty_print_context; diff --git a/refs/ref-cache.h b/refs/ref-cache.h index 850d9d3744e..cf4ad9070b9 100644 --- a/refs/ref-cache.h +++ b/refs/ref-cache.h @@ -1,7 +1,7 @@ #ifndef REFS_REF_CACHE_H #define REFS_REF_CACHE_H -#include "cache.h" +#include "hash.h" struct ref_dir; struct ref_store; diff --git a/rerere.c b/rerere.c index 093c0f6f993..7abc94bf444 100644 --- a/rerere.c +++ b/rerere.c @@ -1,4 +1,4 @@ -#include "git-compat-util.h" +#include "cache.h" #include "abspath.h" #include "alloc.h" #include "config.h" diff --git a/resolve-undo.h b/resolve-undo.h index 2b3f0f901e6..d1ea9727712 100644 --- a/resolve-undo.h +++ b/resolve-undo.h @@ -1,7 +1,12 @@ #ifndef RESOLVE_UNDO_H #define RESOLVE_UNDO_H -#include "cache.h" +struct cache_entry; +struct index_state; +struct pathspec; +struct string_list; + +#include "hash.h" struct resolve_undo_info { unsigned int mode[3]; diff --git a/revision.c b/revision.c index 7438b50e267..bea401992e3 100644 --- a/revision.c +++ b/revision.c @@ -1,4 +1,4 @@ -#include "git-compat-util.h" +#include "cache.h" #include "alloc.h" #include "config.h" #include "environment.h" diff --git a/split-index.h b/split-index.h index 7a435ca2c97..1a153f47ba3 100644 --- a/split-index.h +++ b/split-index.h @@ -1,7 +1,7 @@ #ifndef SPLIT_INDEX_H #define SPLIT_INDEX_H -#include "cache.h" +#include "hash.h" struct index_state; struct strbuf; From patchwork Sat Apr 1 15:10:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197073 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 30EDDC76196 for ; Sat, 1 Apr 2023 15:11:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229729AbjDAPLi (ORCPT ); Sat, 1 Apr 2023 11:11:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43166 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230021AbjDAPLC (ORCPT ); Sat, 1 Apr 2023 11:11:02 -0400 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AE93525457 for ; Sat, 1 Apr 2023 08:10:56 -0700 (PDT) Received: by mail-wm1-x32b.google.com with SMTP id l10-20020a05600c1d0a00b003f04bd3691eso689262wms.5 for ; Sat, 01 Apr 2023 08:10:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361856; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=Nqxmhky+sI3H9OjxPibOKPMihIjWkWmM2cuW+L9mfqA=; b=f7UIbsZf2aUrBElnDWzMJsUPR78pDlfRZOm/Dn8D/abXkVzpfKlGFSfGIBB2nbe8Ar qmBW4h6jXnk2KTMNlCa2DCjUxohHYVGGLs6wdmnDNMGTqnPYMDGFOZtsQNgDNFDhzz46 rIQN3VdqKCMY6iJuiK1UDhcLhNF0IRj12FgmNa6umivkjAOYUy0KmoneBDkbnshFTH8o 9T8NrdQVRaFwTep3ULJg4jRH4Ky/akribxLzsDW/qZU2pw9fbrCk11PBQRwkqur0F61J weSWFKMQCGt4IQhu6d00C8rhgC0vSALb2H0YsCTZxXaU2iGUwP+1NU0cF3LxbvUqdkkF ww4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361856; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Nqxmhky+sI3H9OjxPibOKPMihIjWkWmM2cuW+L9mfqA=; b=2zbhSBjXCKfjF1FIu/Ct/D7iixw0x4CcqgJveH/Q1SyqpgyR7HggVqaCarfoMiOWG8 oigF0Lb30zO4awz+glwg3GgAS3wiljiHx32HycHspwtw4oCptqyG0YjV4OwTEH/tD1ql 7a6RVC2NP82pGvrVgQgCRWbIfzro0DgW2fRoA9CEyZPAwPYX5OJMctXTJqveqngDstQD VJaDd9uSaJa+Ytj45kw7pBj3LiYgCpHrsYkEQOxcbwSEoD8QQ/g7JVoLlaBPpqP1D30O s6xYqOD5i8yqYSeTMG/KbxnIOWVm6eXntKBMBtRpdudfGAed1pu+PNyiskJl6rko//Ok HFUw== X-Gm-Message-State: AO0yUKU9/6g85OCMvDxiXx3qROPevB+Hef/pAwIpIgyofxIkI3/auJl7 zKzmBNf7aVy2M1RDR5PVEbygMcvlJ7s= X-Google-Smtp-Source: AK7set96NreD4n2PFiuzct8iezuGeBgErlShd9x0ngsD7JHDLqYc6HsPyLczVyq1Wu9jBcfC7YInGg== X-Received: by 2002:a7b:c44a:0:b0:3ef:8b0:dbb1 with SMTP id l10-20020a7bc44a000000b003ef08b0dbb1mr22601191wmi.7.1680361856073; Sat, 01 Apr 2023 08:10:56 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id g20-20020a05600c4ed400b003ee8a1bc220sm13917256wmq.1.2023.04.01.08.10.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:55 -0700 (PDT) Message-Id: <50cbcacaad1f004ad9fc99e94a8a8bbc699cbc4d.1680361840.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:36 +0000 Subject: [PATCH 23/24] chdir-notify, quote: replace cache.h include with path.h Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Signed-off-by: Elijah Newren --- chdir-notify.c | 3 ++- quote.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/chdir-notify.c b/chdir-notify.c index 8e38cd6f3ae..0d7bc046074 100644 --- a/chdir-notify.c +++ b/chdir-notify.c @@ -1,7 +1,8 @@ -#include "cache.h" +#include "git-compat-util.h" #include "abspath.h" #include "chdir-notify.h" #include "list.h" +#include "path.h" #include "strbuf.h" #include "trace.h" diff --git a/quote.c b/quote.c index 7ccb5a06cd1..43c739671ed 100644 --- a/quote.c +++ b/quote.c @@ -1,5 +1,6 @@ -#include "cache.h" +#include "git-compat-util.h" #include "alloc.h" +#include "path.h" #include "quote.h" #include "strbuf.h" #include "strvec.h" From patchwork Sat Apr 1 15:10:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Elijah Newren X-Patchwork-Id: 13197077 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41534C6FD1D for ; Sat, 1 Apr 2023 15:11:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230160AbjDAPLy (ORCPT ); Sat, 1 Apr 2023 11:11:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230159AbjDAPL2 (ORCPT ); Sat, 1 Apr 2023 11:11:28 -0400 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7753224410 for ; Sat, 1 Apr 2023 08:10:58 -0700 (PDT) Received: by mail-wr1-x42e.google.com with SMTP id i9so25198125wrp.3 for ; Sat, 01 Apr 2023 08:10:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680361856; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=ITjUM/DPj52rkXdpLKl4kDFyKatxAMdfpgk650IJLH8=; b=czP6hznf8bcBlZA+myqSPyY5lIwCG5VZRQmhNdqlVWqivrlB5w+yUKfAU/bzbXr3/+ ym/kTNxlGPILC+ST3y+RdlsaUSf3F/yQlMas7OzptlAgJeG68jL3RbNLT+gfb+BfEMQJ DA7b81yLYNGbSZ18Wq87SC3AX8F+EzE0AL/RTWwQdeVVzqtWjm4rNWo3PxoXVHAuk/S5 WLqxOe/ulfi62IQ4iF44GULv/ZNmHkpuEoqwofwLq7qBKLoQIUjOfWna/o7UXlclGvAL xjq/9PKspAc+VbL3GInGX/MPTp6rPKuxuT10OT28MpUUNRURbbzAJULfnM4T7e9QE2Nf f5lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680361856; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ITjUM/DPj52rkXdpLKl4kDFyKatxAMdfpgk650IJLH8=; b=WG7WHgs1uN5bNG6JWLxYgAE5TW2oazVo3JbYoZ2MtWSzVmydpdMhpU5+2MNEzRH4x3 6bFN7OoFSUhITtfjutY+3CfUedw2PhZQRnBJ+qHmnsgdADlcY2omni6ySqlG+Cx01OdO RsojRxsSYLHtwREa446oAqEExTn6svynDIyIuzwkLNe28S/5/EGPFz0EHw6AjQpKh2yy zYgFiy1dued4ubjuilcSzpIuAQ+Ui5fvYtBG/LzE9qTK2hchamWpweANBU8U0yVzBSkQ c8NGtHaEJfejXH1SpEI22mUT9N+47G+bvy5ksZEXeykeWnXjG8HDILMoGMMabwvFVP5r uBYQ== X-Gm-Message-State: AAQBX9eOh5NTguFv03/g8csegglA+fyb7o63ZeCqBhHGvIT8335Y01BJ KTgdIx8kBxFtgAlhOFn8o+FMzLxXWQA= X-Google-Smtp-Source: AKy350bZtKaDr2k8LHCw/Jh9HFD8xK+nOrjLpDikeBaTs6IULQyGysqBC6z22rr42H66GF1NGQ7AMg== X-Received: by 2002:a5d:4fcd:0:b0:2e5:d4f4:c43b with SMTP id h13-20020a5d4fcd000000b002e5d4f4c43bmr4294301wrw.55.1680361856622; Sat, 01 Apr 2023 08:10:56 -0700 (PDT) Received: from [127.0.0.1] ([13.74.141.28]) by smtp.gmail.com with ESMTPSA id f16-20020adffcd0000000b002d5a8d8442asm5097140wrs.37.2023.04.01.08.10.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Apr 2023 08:10:56 -0700 (PDT) Message-Id: <2421bb380b151dc80120fc429e74587ea91cc1ea.1680361840.git.gitgitgadget@gmail.com> In-Reply-To: References: Date: Sat, 01 Apr 2023 15:10:37 +0000 Subject: [PATCH 24/24] mailmap, quote: move declarations of global vars to correct unit Fcc: Sent MIME-Version: 1.0 To: git@vger.kernel.org Cc: Calvin Wan , Elijah Newren , Elijah Newren Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Elijah Newren From: Elijah Newren Since earlier commits removed the inclusion of cache.h from mailmap.c and quote.c, it feels odd to have the extern declarations of global variables in cache.h rather than the actual header included by the source file. Move these global variable extern declarations from cache.h to mailmap.c and quote.c. Signed-off-by: Elijah Newren --- cache.h | 5 ----- config.c | 1 + mailmap.h | 3 +++ quote.h | 2 ++ 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/cache.h b/cache.h index 3c3e40b52e8..4d64ec95dc6 100644 --- a/cache.h +++ b/cache.h @@ -622,8 +622,6 @@ void set_alternate_index_output(const char *); extern int verify_index_checksum; extern int verify_ce_order; -extern int quote_path_fully; - #define MTIME_CHANGED 0x0001 #define CTIME_CHANGED 0x0002 #define OWNER_CHANGED 0x0004 @@ -708,9 +706,6 @@ extern int fetch_if_missing; /* Dumb servers support */ int update_server_info(int); -extern const char *git_mailmap_file; -extern const char *git_mailmap_blob; - #define COPY_READ_ERROR (-2) #define COPY_WRITE_ERROR (-3) int copy_fd(int ifd, int ofd); diff --git a/config.c b/config.c index 11e3295419b..9beba19b41c 100644 --- a/config.c +++ b/config.c @@ -18,6 +18,7 @@ #include "ident.h" #include "repository.h" #include "lockfile.h" +#include "mailmap.h" #include "exec-cmd.h" #include "strbuf.h" #include "quote.h" diff --git a/mailmap.h b/mailmap.h index 7e99fccb46c..0f8fd2c586f 100644 --- a/mailmap.h +++ b/mailmap.h @@ -3,6 +3,9 @@ struct string_list; +extern const char *git_mailmap_file; +extern const char *git_mailmap_blob; + int read_mailmap(struct string_list *map); void clear_mailmap(struct string_list *map); diff --git a/quote.h b/quote.h index 87ff458b06d..0300c291041 100644 --- a/quote.h +++ b/quote.h @@ -3,6 +3,8 @@ struct strbuf; +extern int quote_path_fully; + /* Help to copy the thing properly quoted for the shell safety. * any single quote is replaced with '\'', any exclamation point * is replaced with '\!', and the whole thing is enclosed in a