|
|
|
|
|
by mathstuf
1524 days ago
|
|
We call ours the "stage". Merge conflicts are just a "please wait" signal. The way it works is: - the stage is always up-to-date with the target branch (so if it updates, we re-merge all topics on top of the new target branch head)
- topics should pass CI standalone before being staged
- the stage is first-come first-served, so "later" topics have to wait
- updating a topic puts it at the end of the line
- topics should really go through the stage before landing in the target branch
Conflicts (content or logical) will cause a topic to have to wait until the conflicting topic has landed in the target branch before it can participate in the stage. This usually only affects topics working in the same area.Our library implementing this: https://gitlab.kitware.com/utils/rust-git-topic-stage However, given your later metric of 10+ conflicts per topic…I suspect your project is still in the "getting off the ground" phase where a stage is awfully heavy process because there aren't "bright line" distinct sections of the code yet. Or your topics are too big. Hard to say. |
|