* [PATCH 0/2] b4: ty: Fix incorrect patch/commit association
@ 2024-03-01 10:24 Will Deacon
2024-03-01 10:24 ` [PATCH 1/2] ty: Try subject matching for every commit before using trackers Will Deacon
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Will Deacon @ 2024-03-01 10:24 UTC (permalink / raw)
To: tools; +Cc: Will Deacon, Konstantin Ryabitsev, Jason Gunthorpe, Nicolin Chen
From: Will Deacon <willdeacon@google.com>
Hi folks,
I recently ran into an issue where 'b4 ty' generated an incorrect list
of commit IDs in the "thank you" letter. I've had a crack at fixing it
and the details are in patch 1. Patch 2 is drive-by cleanup while I was
there.
Please have a look!
Cheers,
Will
Cc: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: Nicolin Chen <nicolinc@nvidia.com>
Will Deacon (2):
ty: Try subject matching for every commit before using trackers
ty: Remove unused 'matches' variable
src/b4/ty.py | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
--
2.44.0.rc1.240.g4c46232300-goog
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] ty: Try subject matching for every commit before using trackers
2024-03-01 10:24 [PATCH 0/2] b4: ty: Fix incorrect patch/commit association Will Deacon
@ 2024-03-01 10:24 ` Will Deacon
2024-03-01 10:24 ` [PATCH 2/2] ty: Remove unused 'matches' variable Will Deacon
2024-03-01 10:34 ` [PATCH 0/2] b4: ty: Fix incorrect patch/commit association Will Deacon
2 siblings, 0 replies; 4+ messages in thread
From: Will Deacon @ 2024-03-01 10:24 UTC (permalink / raw)
To: tools
Cc: Will Deacon, Konstantin Ryabitsev, Jason Gunthorpe, Nicolin Chen,
Will Deacon
From: Will Deacon <willdeacon@google.com>
Nicolin reports that 'b4 ty' produced a "thank you" letter with
incorrect commit IDs:
https://lore.kernel.org/r/ZeDtfKMUXnOnJOic@Asurada-Nvidia
This appears to be because of the creative use of Message-Ids in the
series at:
https://lore.kernel.org/r/0-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
For example, comparing the Message-Id of patches 1 and 11 of that series,
we can see that one is a substring of the other:
Message-Id: <1-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com>
Message-Id: <11-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com>
This confuses auto_locate_series(), as it will end up matching the
Message-Id of patch 1 with the Link: tag in patch 11 and therefore get
the wrong patch/commit association.
Fix this problem by trying to match each commit based on the Subject
before falling back to the fuzzier tracker-based matching.
Reported-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Will Deacon <will@kernel.org>
---
src/b4/ty.py | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/b4/ty.py b/src/b4/ty.py
index a8bdabf5bcbc..950c357a89c5 100644
--- a/src/b4/ty.py
+++ b/src/b4/ty.py
@@ -217,7 +217,13 @@ def auto_locate_series(gitdir: Optional[str], jsondata: dict, branch: str,
success = True
matches += 1
break
- elif len(patch) > 2 and len(patch[2]) and len(commit[2]):
+
+ if success:
+ continue
+
+ # try to locate by tracker
+ for pwhash, commit in commits.items():
+ if len(patch) > 2 and len(patch[2]) and len(commit[2]):
for tracker in commit[2]:
if tracker.find(patch[2]) >= 0:
logger.debug('Matched using recorded message-id')
--
2.44.0.rc1.240.g4c46232300-goog
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] ty: Remove unused 'matches' variable
2024-03-01 10:24 [PATCH 0/2] b4: ty: Fix incorrect patch/commit association Will Deacon
2024-03-01 10:24 ` [PATCH 1/2] ty: Try subject matching for every commit before using trackers Will Deacon
@ 2024-03-01 10:24 ` Will Deacon
2024-03-01 10:34 ` [PATCH 0/2] b4: ty: Fix incorrect patch/commit association Will Deacon
2 siblings, 0 replies; 4+ messages in thread
From: Will Deacon @ 2024-03-01 10:24 UTC (permalink / raw)
To: tools
Cc: Will Deacon, Konstantin Ryabitsev, Jason Gunthorpe, Nicolin Chen,
Will Deacon
From: Will Deacon <willdeacon@google.com>
The 'matches' variable in auto_locate_series() is updated but not used
for anything, so remove it.
Signed-off-by: Will Deacon <will@kernel.org>
---
src/b4/ty.py | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/b4/ty.py b/src/b4/ty.py
index 950c357a89c5..97f4c44a0832 100644
--- a/src/b4/ty.py
+++ b/src/b4/ty.py
@@ -198,7 +198,6 @@ def auto_locate_series(gitdir: Optional[str], jsondata: dict, branch: str,
patchids = set(commits.keys())
# We need to find all of them in the commits
found = list()
- matches = 0
at = 0
for patch in jsondata['patches']:
at += 1
@@ -206,7 +205,6 @@ def auto_locate_series(gitdir: Optional[str], jsondata: dict, branch: str,
if patch[1] in patchids:
logger.debug('Found: %s', patch[0])
found.append((at, commits[patch[1]][0]))
- matches += 1
else:
# try to locate by subject
success = False
@@ -215,7 +213,6 @@ def auto_locate_series(gitdir: Optional[str], jsondata: dict, branch: str,
logger.debug('Matched using subject')
found.append((at, commit[0]))
success = True
- matches += 1
break
if success:
@@ -229,7 +226,6 @@ def auto_locate_series(gitdir: Optional[str], jsondata: dict, branch: str,
logger.debug('Matched using recorded message-id')
found.append((at, commit[0]))
success = True
- matches += 1
break
if success:
break
--
2.44.0.rc1.240.g4c46232300-goog
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 0/2] b4: ty: Fix incorrect patch/commit association
2024-03-01 10:24 [PATCH 0/2] b4: ty: Fix incorrect patch/commit association Will Deacon
2024-03-01 10:24 ` [PATCH 1/2] ty: Try subject matching for every commit before using trackers Will Deacon
2024-03-01 10:24 ` [PATCH 2/2] ty: Remove unused 'matches' variable Will Deacon
@ 2024-03-01 10:34 ` Will Deacon
2 siblings, 0 replies; 4+ messages in thread
From: Will Deacon @ 2024-03-01 10:34 UTC (permalink / raw)
To: tools; +Cc: Will Deacon, Konstantin Ryabitsev, Jason Gunthorpe, Nicolin Chen
On Fri, Mar 01, 2024 at 10:24:16AM +0000, Will Deacon wrote:
> From: Will Deacon <willdeacon@google.com>
Sorry, I forgot to configure my .git/config properly so it's got the
wrong author email address for these patches.
I won't resend immediately just for that, but I can send an updated v2
next week assuming these patches look like the right sort of idea.
Cheers,
Will
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-03-01 10:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-01 10:24 [PATCH 0/2] b4: ty: Fix incorrect patch/commit association Will Deacon
2024-03-01 10:24 ` [PATCH 1/2] ty: Try subject matching for every commit before using trackers Will Deacon
2024-03-01 10:24 ` [PATCH 2/2] ty: Remove unused 'matches' variable Will Deacon
2024-03-01 10:34 ` [PATCH 0/2] b4: ty: Fix incorrect patch/commit association Will Deacon
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.