From: Derrick Stolee <stolee@gmail.com>
To: Taylor Blau <me@ttaylorr.com>, Toon Claes <toon@iotcl.com>
Cc: git@vger.kernel.org, "Jeff King" <peff@peff.net>,
"Patrick Steinhardt" <ps@pks.im>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: Re: [PATCH 0/8] Introduce git-blame-tree(1) command
Date: Thu, 27 Mar 2025 08:04:50 -0400 [thread overview]
Message-ID: <511c7ce2-cd1c-4d0a-98b7-c7f5569a3eef@gmail.com> (raw)
In-Reply-To: <Z+Rl43VR3ErE0Bu4@nand.local>
On 3/26/2025 4:38 PM, Taylor Blau wrote:
> On Wed, Mar 26, 2025 at 09:18:24PM +0100, Toon Claes wrote:
>> This is yet another attempt to upstream the builtin command
>> `git-blame-tree(1)`. This command is similar to git-blame(1) and shows
>> the most recent modification to paths in a tree..
>>
>> The last attempt (I'm aware of) was made by Ævar in 2023[1]. That
>> series was based of patches by Peff written in 2011[2].
>
> For what it's worth, the blame-tree implementation that this came from
> has evolved significantly since it was originally written in 2011. Most
> recently Stolee and I worked on a version that uses changed-path Bloom
> filters to narrow the search, passing un-blamed paths to their parents
> at each level of the traversal.
It's worth mentioning that the underlying algorithm was nearly rebuilt
from scratch with this "passing un-blamed paths to their parents" aspect,
which unlocked other features such as caching results to be used by
future queries, even when the tip branch advances.
With that in mind, using the 2011 version is unlikely to be valuable.
Taylor: do you have a drop of the latest blame-tree implementation that
could be shared with Toon?
Thanks,
-Stolee
prev parent reply other threads:[~2025-03-27 12:04 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-26 20:18 [PATCH 0/8] Introduce git-blame-tree(1) command Toon Claes
2025-03-26 20:18 ` [PATCH 1/8] combine-diff: zero memory used for callback filepairs Toon Claes
2025-03-26 20:18 ` [PATCH 2/8] within_depth: fix return for empty path Toon Claes
2025-03-26 20:18 ` [PATCH 3/8] diff: teach tree-diff a max-depth parameter Toon Claes
2025-03-26 20:18 ` [PATCH 4/8] blame-tree: introduce new subcommand to blame files Toon Claes
2025-03-26 20:18 ` [PATCH 5/8] pathspec: add optional trie index Toon Claes
2025-03-26 20:18 ` [PATCH 6/8] pathspec: turn on tries when appropriate Toon Claes
2025-03-26 20:18 ` [PATCH 7/8] tree-diff: use pathspec tries Toon Claes
2025-03-26 20:18 ` [PATCH 8/8] blame-tree: narrow pathspec as we traverse Toon Claes
2025-03-26 20:38 ` [PATCH 0/8] Introduce git-blame-tree(1) command Taylor Blau
2025-03-27 6:32 ` Jeff King
2025-03-27 21:58 ` Taylor Blau
2025-03-28 13:27 ` Toon Claes
2025-04-01 9:29 ` Jeff King
2025-03-27 12:04 ` Derrick Stolee [this message]
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=511c7ce2-cd1c-4d0a-98b7-c7f5569a3eef@gmail.com \
--to=stolee@gmail.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=me@ttaylorr.com \
--cc=peff@peff.net \
--cc=ps@pks.im \
--cc=toon@iotcl.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).