Subject: Re: [PATCH v4 0/3] Introduce git-last-modified(1) command

From: Junio C Hamano <[email-masked]>
Date: Thu, 10 Jul 2025 11:37:13 -0700

Junio C Hamano <[email-masked]> writes:

> Toon Claes <[email-masked]> writes:
>
>> This series adds the git-last-modified(1) subcommand. In the past the
>> subcommand was proposed[1] to be named git-blame-tree(1). This version
>> is based on the patches shared by the kind people at GitHub[2].
>
> You do not have to deal with it just yet, but FYI, another topic in
> flight renames away a few bloom API functions that this topic adds
> more callers of.
>
> If this topic needs to be rerolled after the other topic graduates
> to 'master', we may need to see this topic rebased on a newer
> 'master' with something like the attached patch squashed in, but
> because the other topic is not close to 'next' yet, let's keep these
> two topics independent from each other as long as possible, and let
> me deal with this trivial semantic conflict resolution, at least for
> now.
>
> Thanks.

The situation wrt what you need to do hasn't changed, but the other
topic reshuffled the order of parameters for a few API functions.
The result does make more sense to have the key structure as the
first parameter, but a fallout is that the way the new calls added
by this series are massaged to fit the new world order needs to be
updated.

Again, just FYI, if you ended up needing to rebase your topic on top
of the other one, the following would become necessary.

 builtin/last-modified.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/builtin/last-modified.c b/builtin/last-modified.c
index 466df04fba..70e1e14f21 100644
--- a/builtin/last-modified.c
+++ b/builtin/last-modified.c
@@ -47,7 +47,7 @@ static void last_modified_release(struct last_modified *lm)
 	struct last_modified_entry *ent;
 
 	hashmap_for_each_entry(&lm->paths, &iter, ent, hashent)
-		clear_bloom_key(&ent->key);
+		bloom_key_clear(&ent->key);
 
 	hashmap_clear_and_free(&lm->paths, struct last_modified_entry, hashent);
 	release_revisions(&lm->rev);
@@ -77,7 +77,7 @@ static void add_path_from_diff(struct diff_queue_struct *q,
 		FLEX_ALLOC_STR(ent, path, path);
 		oidcpy(&ent->oid, &p->two->oid);
 		if (lm->rev.bloom_filter_settings)
-			fill_bloom_key(path, strlen(path), &ent->key,
+			bloom_key_fill(&ent->key, path, strlen(path),
 				       lm->rev.bloom_filter_settings);
 		hashmap_entry_init(&ent->hashent, strhash(ent->path));
 		hashmap_add(&lm->paths, &ent->hashent);
@@ -138,7 +138,7 @@ static void mark_path(const char *path, const struct object_id *oid,
 		data->callback(path, data->commit, data->callback_data);
 
 	hashmap_remove(data->paths, &ent->hashent, path);
-	clear_bloom_key(&ent->key);
+	bloom_key_clear(&ent->key);
 	free(ent);
 }
 
-- 
2.50.1-394-g0a41f16de2