Hi,
On 6/15/20 1:06 AM, David Edmundson wrote:
- There was a discussion on the two different styles of use gitlab
use. Some people squash locally and have a nice neat commit history.
Others don't, and then just squash at end.
- Conclusion was it's unreasonable to get devs to squash and
rebase "nicely" as it's perceived as too hard (even though it really
isn't - ed)
One issue with such a workflow is that code reviewers will have to
accumulate all commits in their mind. Speaking for myself, that is
really difficult.
Another issue is that it's not clear how the commits are going to be
squashed, which makes it even more hard to add "ship it."
For example, let's consider that a person has created a merge request
with two commits
A -> B
a code reviewer spots an issue and asks the author of the merge request
to address it
A -> B -> C' (C' is the commit that fixes the issue)
another code reviewer shows up and notices another problem
A -> B -> C' -> D'
after a couple of more code review rounds, we end up with the following
commit history
A -> B -> C' -> D' -> E' -> ... -> Approved'
The question is: how commits C', D' and so on are going to be squashed?
What if some of those commits cannot be squashed cleanly because of
merge conflicts? Will resolved merge conflicts go in unreviewed?
I agree that the interactive rebase tool is difficult to master, but we
could provide an example of recommended gitlab workflow on our wiki and
point newcomers to it. By doing so, we will help the newcomers grow
professionally and hopefully give them a reason to continue contributing
to KDE. :-)
Cheers,
vlad