Le 09/07/2025 à 14:26, Lucas Werkmeister a écrit :
Another downside to the linear Git history that I noticed today: `git
branch -d review/[number]` is less likely to succeed, because the
commit was probably rebased on merge, so it’s now a different commit
even if the version I had previously downloaded with `git review -d
[number]` was still the latest version.
Hello,
I delete them without looking by forcing the deletion: `git branch -D`.
That is because I consider them ephemeral and in almost any case I
always refetch the change from Gerrit.
`git branch -d` checks whether the branch got merged, and with Gerrit
rebasing a patch behind our hood, it get lost since the commit might
have a different sha1 as the parent might be different.
There is another command that is used for email based workflow: *git
cherry*. It compares the commits based on the diff and shows which
commits have been applied and which one are yet to be applied
Assuming your:
* local branch `review/user/num` tracks a remote branch (which
git-review -d should do)
* the remote is up-to-date (git fetch origin / git fetch --all / git
remote update)
Then when invoking `git cherry -v`, it compares the pending patches in
your local branch with the remote and print them. The commits that have
an equivalent in the remote branch are prefixed with a `-` (they have
been merged), those that did not are prefixed with a `+`.
Example with integration/config, I had a local branch
review/cmelo/T397271 which pointed to
https://gerrit.wikimedia.org/r/c/integration/config/+/1163347/3. The
branch is not fully merged:
git branch -d review/cmelo/T397271
error: The branch 'review/cmelo/T397271' is not fully merged.
But the patch has been applied:
$ git checkout review/cmelo/T397271
Switched to branch 'review/cmelo/T397271'
Your branch and 'origin/master' have diverged,
and have 1 and 74 different commits each, respectively.
$ git cherry -v
- 0c481434f44b95c354bbacf11258188e8b842f59 zuul:
[mediawiki/extensions/CampaignEvents] add cldr as dependency
Or pull the branch and it is then deletable.
I am pretty sure git-review could be taught to automatically delete
local review branches by using `git cherry` ;)
Antoine "hashar" Musso
_______________________________________________
Wikitech-l mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/