From: Jonathan Tan <jonathantanmy@google.com>
To: git@vger.kernel.org
Cc: Jonathan Tan <jonathantanmy@google.com>,
matheus.bernardino@usp.br, gitster@pobox.com
Subject: [PATCH v3 0/8] In grep, no adding submodule ODB as alternates
Date: Mon, 16 Aug 2021 14:09:50 -0700 [thread overview]
Message-ID: <cover.1629148153.git.jonathantanmy@google.com> (raw)
In-Reply-To: <cover.1628618950.git.jonathantanmy@google.com>
Thanks for reviewing, everyone. Here are the requested changes.
Jonathan Tan (8):
submodule: lazily add submodule ODBs as alternates
grep: use submodule-ODB-as-alternate lazy-addition
grep: typesafe versions of grep_source_init
grep: read submodule entry with explicit repo
grep: allocate subrepos on heap
grep: add repository to OID grep sources
submodule-config: pass repo upon blob config read
t7814: show lack of alternate ODB-adding
builtin/grep.c | 64 +++++++++++++++++++-----------
config.c | 20 ++++++----
config.h | 3 ++
grep.c | 51 +++++++++++++++---------
grep.h | 22 ++++++++--
object-file.c | 5 +++
submodule-config.c | 5 ++-
submodule.c | 25 +++++++++++-
submodule.h | 8 ++++
t/README | 10 +++++
t/t7814-grep-recurse-submodules.sh | 3 ++
11 files changed, 161 insertions(+), 55 deletions(-)
Range-diff against v2:
1: 5994a517e8 = 1: 5994a517e8 submodule: lazily add submodule ODBs as alternates
2: 31e9b914c4 = 2: 31e9b914c4 grep: use submodule-ODB-as-alternate lazy-addition
3: aa3f1f3c89 = 3: aa3f1f3c89 grep: typesafe versions of grep_source_init
4: 050deacfb7 = 4: 050deacfb7 grep: read submodule entry with explicit repo
5: 3f24815224 ! 5: 7d1eeac4b5 grep: allocate subrepos on heap
@@ builtin/grep.c: static void work_done(struct work_item *w)
+ repo_clear(repos_to_free[i]);
+ free(repos_to_free[i]);
+ }
-+ free(repos_to_free);
++ FREE_AND_NULL(repos_to_free);
+ repos_to_free_nr = 0;
+ repos_to_free_alloc = 0;
+}
6: 50c69a988b ! 6: f362fc278c grep: add repository to OID grep sources
@@ grep.h: struct grep_opt {
+
+ /*
+ * NEEDSWORK: See if we can remove this field, because the repository
-+ * should probably be per-source, not per-repo. This is potentially the
-+ * cause of at least one bug - "git grep" ignoring the textconv
-+ * attributes from submodules. See [1] for more information.
++ * should probably be per-source. That is, grep.c functions using this
++ * field should probably start using "repo" in "struct grep_source"
++ * instead.
++ *
++ * This is potentially the cause of at least one bug - "git grep"
++ * ignoring the textconv attributes from submodules. See [1] for more
++ * information.
+ * [1] https://lore.kernel.org/git/CAHd-oW5iEQarYVxEXoTG-ua2zdoybTrSjCBKtO0YT292fm0NQQ@mail.gmail.com/
+ */
struct repository *repo;
7: 94db10a4e5 ! 7: 8b86618531 submodule-config: pass repo upon blob config read
@@ Commit message
submodule's ODB as an alternate and then reading an object from
the_repository.
+ This makes the "grep --recurse-submodules with submodules without
+ .gitmodules in the working tree" test in t7814 work when
+ GIT_TEST_FATAL_REGISTER_SUBMODULE_ODB is true.
+
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
## config.c ##
@@ config.c: int git_config_from_blob_oid(config_fn_t fn,
const char *name,
void *data)
{
-@@ config.c: static int git_config_from_blob_ref(config_fn_t fn,
+ struct object_id oid;
- if (get_oid(name, &oid) < 0)
+- if (get_oid(name, &oid) < 0)
++ if (repo_get_oid(repo, name, &oid) < 0)
return error(_("unable to resolve config blob '%s'"), name);
- return git_config_from_blob_oid(fn, name, &oid, data);
+ return git_config_from_blob_oid(fn, name, repo, &oid, data);
8: 4a51fcfb77 = 8: 4b3176f99e t7814: show lack of alternate ODB-adding
--
2.33.0.rc1.237.g0d66db33f3-goog
next prev parent reply other threads:[~2021-08-16 21:10 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-10 18:28 [PATCH 0/7] In grep, no adding submodule ODB as alternates Jonathan Tan
2021-08-10 18:28 ` [PATCH 1/7] submodule: lazily add submodule ODBs " Jonathan Tan
2021-08-10 21:13 ` Junio C Hamano
2021-08-13 16:53 ` Jonathan Tan
2021-08-11 21:33 ` Emily Shaffer
2021-08-13 16:23 ` Jonathan Tan
2021-08-10 18:28 ` [PATCH 2/7] grep: use submodule-ODB-as-alternate lazy-addition Jonathan Tan
2021-08-11 21:36 ` Emily Shaffer
2021-08-13 16:31 ` Jonathan Tan
2021-08-10 18:28 ` [PATCH 3/7] grep: typesafe versions of grep_source_init Jonathan Tan
2021-08-10 21:38 ` Junio C Hamano
2021-08-11 21:42 ` Emily Shaffer
2021-08-11 23:07 ` Ramsay Jones
2021-08-13 16:32 ` Jonathan Tan
2021-08-11 22:45 ` Matheus Tavares Bernardino
2021-08-12 16:49 ` Junio C Hamano
2021-08-13 16:33 ` Jonathan Tan
2021-08-10 18:28 ` [PATCH 4/7] grep: read submodule entry with explicit repo Jonathan Tan
2021-08-11 21:44 ` Emily Shaffer
2021-08-13 16:39 ` Jonathan Tan
2021-08-10 18:28 ` [PATCH 5/7] grep: allocate subrepos on heap Jonathan Tan
2021-08-11 21:50 ` Emily Shaffer
2021-08-13 16:42 ` Jonathan Tan
2021-08-10 18:28 ` [PATCH 6/7] grep: add repository to OID grep sources Jonathan Tan
2021-08-11 21:52 ` Emily Shaffer
2021-08-13 16:44 ` Jonathan Tan
2021-08-11 23:28 ` Matheus Tavares Bernardino
2021-08-13 16:47 ` Jonathan Tan
2021-08-10 18:28 ` [PATCH 7/7] t7814: show lack of alternate ODB-adding Jonathan Tan
2021-08-11 21:55 ` Emily Shaffer
2021-08-11 22:22 ` Matheus Tavares Bernardino
2021-08-13 16:50 ` Jonathan Tan
2021-08-11 21:29 ` [PATCH 0/7] In grep, no adding submodule ODB as alternates Emily Shaffer
2021-08-11 22:49 ` Josh Steadmon
2021-08-13 21:05 ` [PATCH v2 0/8] " Jonathan Tan
2021-08-13 21:05 ` [PATCH v2 1/8] submodule: lazily add submodule ODBs " Jonathan Tan
2021-08-13 21:05 ` [PATCH v2 2/8] grep: use submodule-ODB-as-alternate lazy-addition Jonathan Tan
2021-08-13 21:05 ` [PATCH v2 3/8] grep: typesafe versions of grep_source_init Jonathan Tan
2021-08-16 15:06 ` Matheus Tavares Bernardino
2021-08-13 21:05 ` [PATCH v2 4/8] grep: read submodule entry with explicit repo Jonathan Tan
2021-08-13 21:05 ` [PATCH v2 5/8] grep: allocate subrepos on heap Jonathan Tan
2021-08-13 21:44 ` Junio C Hamano
2021-08-16 19:42 ` Jonathan Tan
2021-08-13 21:05 ` [PATCH v2 6/8] grep: add repository to OID grep sources Jonathan Tan
2021-08-16 14:48 ` Matheus Tavares Bernardino
2021-08-16 19:44 ` Jonathan Tan
2021-08-13 21:05 ` [PATCH v2 7/8] submodule-config: pass repo upon blob config read Jonathan Tan
2021-08-16 14:32 ` Matheus Tavares Bernardino
2021-08-16 19:57 ` Matheus Tavares Bernardino
2021-08-16 20:02 ` Jonathan Tan
2021-08-16 15:48 ` Matheus Tavares Bernardino
2021-08-16 20:09 ` Jonathan Tan
2021-08-16 20:57 ` Jonathan Tan
2021-08-13 21:05 ` [PATCH v2 8/8] t7814: show lack of alternate ODB-adding Jonathan Tan
2021-08-16 15:14 ` [PATCH v2 0/8] In grep, no adding submodule ODB as alternates Matheus Tavares Bernardino
2021-08-16 21:09 ` Jonathan Tan [this message]
2021-08-16 21:09 ` [PATCH v3 1/8] submodule: lazily add submodule ODBs " Jonathan Tan
2021-08-16 21:09 ` [PATCH v3 2/8] grep: use submodule-ODB-as-alternate lazy-addition Jonathan Tan
2021-08-16 21:09 ` [PATCH v3 3/8] grep: typesafe versions of grep_source_init Jonathan Tan
2021-08-16 21:09 ` [PATCH v3 4/8] grep: read submodule entry with explicit repo Jonathan Tan
2021-08-16 21:09 ` [PATCH v3 5/8] grep: allocate subrepos on heap Jonathan Tan
2021-08-16 21:09 ` [PATCH v3 6/8] grep: add repository to OID grep sources Jonathan Tan
2021-09-27 12:08 ` Ævar Arnfjörð Bjarmason
2021-09-27 16:45 ` [RFC PATCH 0/3] grep: don'\''t add subrepos to in-memory alternates Matheus Tavares
2021-09-27 17:30 ` Ævar Arnfjörð Bjarmason
2021-08-16 21:09 ` [PATCH v3 7/8] submodule-config: pass repo upon blob config read Jonathan Tan
2021-08-16 21:09 ` [PATCH v3 8/8] t7814: show lack of alternate ODB-adding Jonathan Tan
2021-08-17 19:29 ` [PATCH v3 0/8] In grep, no adding submodule ODB as alternates Matheus Tavares Bernardino
2021-09-08 0:26 ` Junio C Hamano
2021-09-08 15:31 ` Matheus Tavares Bernardino
2021-09-08 18:45 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1629148153.git.jonathantanmy@google.com \
--to=jonathantanmy@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=matheus.bernardino@usp.br \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.