From: Matheus Tavares <matheus.bernardino@usp.br>
To: git@vger.kernel.org
Cc: Jonathan Nieder <jrnieder@gmail.com>
Subject: [RFC PATCH 0/3] grep: don't add subrepos to in-memory alternates
Date: Tue, 17 Sep 2019 22:56:02 -0300 [thread overview]
Message-ID: <cover.1568771073.git.matheus.bernardino@usp.br> (raw)
Make git-grep --recurse-submodules stop adding subrepos to the in-memory
alternates list and, instead, pass a reference to the subrepo struct
down to the threads.
This series is based on ew/hashmap (it uses the added container_of
macro).
There're some possibly needed changes I'm still unsure about. All
feedback will be highly appreciated:
- textconv cache is written to the_repository's object database even for
submodules. Should it perhaps be written to submodules' odb instead?
- Considering the following call chain: grep_source_load_driver() >
userdiff_find_by_path() > git_check_attr() > collect_some_attrs() >
prepare_attr_stack() > bootstrap_attr_stack():
* The last function tries to read the attributes from the
.gitattributes and .git/info/attributes files of the_repository.
However, for paths inside the submodule, shouldn't it try to read
these files from the submodule?
* This function will also call: read_attr() > read_attr_from_index() >
read_blob_data_from_index() which might, in turn, call
read_object_file(). Shouldn't we pass the subrepo to it so that it
can call repo_read_object_file()? (Again, for paths inside the
submodule, read_object_file() won't be able to find the object as
we won't be adding to alternates anymore.)
Matheus Tavares (3):
diff: use the given repo at diff_populate_filespec()
object: allow parse_object_or_die() to handle any repo
grep: don't add submodules to the alternates list
builtin/grep.c | 82 +++++++++++++++++++++++++++++++++++--------------
builtin/prune.c | 4 +--
bundle.c | 13 +++++---
diff.c | 2 +-
grep.c | 26 ++++++++--------
object.c | 5 +--
object.h | 4 ++-
pack-bitmap.c | 5 +--
reachable.c | 4 +--
upload-pack.c | 2 +-
10 files changed, 94 insertions(+), 53 deletions(-)
--
2.23.0
next reply other threads:[~2019-09-18 1:56 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-18 1:56 Matheus Tavares [this message]
2019-09-18 1:56 ` [RFC PATCH 1/3] diff: use the given repo at diff_populate_filespec() Matheus Tavares
2019-09-18 1:56 ` [RFC PATCH 2/3] object: allow parse_object_or_die() to handle any repo Matheus Tavares
2019-09-18 1:56 ` [RFC PATCH 3/3] grep: don't add submodules to the alternates list Matheus Tavares
2019-09-21 21:58 ` Brandon Williams
2019-09-18 19:55 ` [RFC PATCH 0/3] grep: don't add subrepos to in-memory alternates Junio C Hamano
2019-09-19 5:18 ` Matheus Tavares Bernardino
2019-09-20 16:26 ` Junio C Hamano
2019-09-21 20:34 ` Matheus Tavares Bernardino
2019-09-28 3:24 ` Junio C Hamano
2019-09-28 4:20 ` Matheus Tavares Bernardino
-- strict thread matches above, loose matches on Subject: below --
2021-09-27 12:08 [PATCH v3 6/8] grep: add repository to OID grep sources Æ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
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.1568771073.git.matheus.bernardino@usp.br \
--to=matheus.bernardino@usp.br \
--cc=git@vger.kernel.org \
--cc=jrnieder@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).