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
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 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.