Gerrit will merge potentially unreviewed changes that are earlier in the commit history and are in a different 'branch' of the repository. Here's an example:
- checkout gerrit branch
devel
- create file1.txt, add, commit, push to
refs/heads/temp_branch
- create file2.txt, add, commit, push to
refs/for/devel
to be code reviewed
When file2.txt is accepted and merged then file1.txt, because it's upstream and not in a separate change branch flagged as being under review, also gets merged in. This is potentially very problematic and the only solution I can come up with is to force every change pushed to every branch be code reviewed. This is not ideal, as you may want to have some branches with one group of approvers, or with no code review (for some code swapping?).
The solution here is to force every commit in the history be placed into code review, as would be the case had file1.txt not been pushed to a different branch in the same repository.
Is there a setting in Gerrit that imposes this rule?
Can anyone think of a workflow that allows for the freedom to push to refs/heads/
without risking polluting other branches?
Many thanks.