Option to reject implicit merges when pushing changes for review
An implicit merge is a case where by submitting an open change one also
merges a branch into the target branch. Typically, this happens when a
change is done on top of master and, by mistake, pushed to stable
branch. Merging this change would also implicitly merge master into
stable.
Example 1:
o < change pushed for stable
|
o < master
|
o < stable
Submitting this change will implicitly merge master into stable:
o < change pushed for stable, stable
|
o < master
|
o
Example 2:
o < change pushed for stable
|
master > o o < stable
\ /
o
Submitting this change will implicitly merge master into stable:
o < stable
/|
/ |
o < change pushed for stable
| |
master > o o
\ /
o
A new project property receive.rejectImplicitMerges controls whether an
implicit merge will be rejected. When an implicit merge is detected
Gerrit will print error(s) to the user:
remote: ERROR: Implicit Merge of 39adddb Commit message subject
remote: ERROR: Implicit Merge of ...
and will reject the push.
Bug: issue 1107
Change-Id: I0b14c64bebe28ea5579fc11f6beedacf5982e5aa
This commit is contained in:
committed by
Edwin Kempin
parent
952d8d2a89
commit
225b7a78ee
@@ -145,6 +145,10 @@ public class PutConfig implements RestModifyView<ProjectResource, ConfigInput> {
|
||||
}
|
||||
}
|
||||
|
||||
if (input.rejectImplicitMerges != null) {
|
||||
p.setRejectImplicitMerges(input.rejectImplicitMerges);
|
||||
}
|
||||
|
||||
if (input.maxObjectSizeLimit != null) {
|
||||
p.setMaxObjectSizeLimit(input.maxObjectSizeLimit);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user