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.
And not only the ones in that format, which implies that you are the person reviewing, but also local branches that you have pushed and are asking for review and got merged and you want to GC them in the local env.
For what it's worth, I 've been dealing with this consequence for the largest part of the last 12 years, since operations/puppet has been a rebase heavy repo for a very long time. Although this has been an explicit choice (with some back, forths and improvements over time), this is largely due to the nature of a Puppet codebase, given every change carries state. Overall, it's not as bad as it might appear. For the review/<thing> branch, you can do a git review -d to refresh them before deleting them, and overall a GC every once in a while where -D is used instead of -d fixes the issue. It's rare that you lose something, cause we all push to gerrit often enough.
Whether a merge commit was created was more-or-less random, depending more on the timing of the merge than on the relationship between the commits in Gerrit (which itself is transient - if you merge a commit on the bottom of the stack and then need to rebase the others, the relationship is lost). Consistently not having merge commits is an improvement IMO. It also makes a number of manual git operations easier.
I think I’m not a fan of this :/ it seems like it will obscure the relationship between chains of changes? Maybe it’ll still be visible in Gerrit (I haven’t checked), but surely not in “pure” git (e.g. in the CLI) – there would just be one long stream of commits with no indication that some of these used to be stacked together.
_______________________________________________
Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org
To unsubscribe send an email to wikitech-l-leave@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/
--
Lucas Werkmeister (he/er)
Software Engineer
Wikimedia Deutschland e. V. | Tempelhofer Ufer 23-24 | 10963 Berlin
Phone: +49 (0)30-577 11 62-0
https://wikimedia.deImagine a world in which every single human being can freely share in the sum of all knowledge. Help us to achieve our vision!
https://spenden.wikimedia.deWikimedia Deutschland — Gesellschaft zur Förderung Freien Wissens e. V.
Eingetragen im Vereinsregister des Amtsgerichts Charlottenburg, VR 23855 B. Als gemeinnützig anerkannt durch das Finanzamt für Körperschaften I Berlin, Steuernummer 27/029/42207.
_______________________________________________
Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org
To unsubscribe send an email to wikitech-l-leave@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/