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:
@@ -99,6 +99,8 @@ public final class Project {
|
||||
protected InheritableBoolean enableSignedPush;
|
||||
protected InheritableBoolean requireSignedPush;
|
||||
|
||||
protected InheritableBoolean rejectImplicitMerges;
|
||||
|
||||
protected Project() {
|
||||
}
|
||||
|
||||
@@ -151,6 +153,10 @@ public final class Project {
|
||||
return maxObjectSizeLimit;
|
||||
}
|
||||
|
||||
public InheritableBoolean getRejectImplicitMerges() {
|
||||
return rejectImplicitMerges;
|
||||
}
|
||||
|
||||
public void setUseContributorAgreements(final InheritableBoolean u) {
|
||||
useContributorAgreements = u;
|
||||
}
|
||||
@@ -196,6 +202,10 @@ public final class Project {
|
||||
maxObjectSizeLimit = limit;
|
||||
}
|
||||
|
||||
public void setRejectImplicitMerges(InheritableBoolean check) {
|
||||
rejectImplicitMerges = check;
|
||||
}
|
||||
|
||||
public SubmitType getSubmitType() {
|
||||
return submitType;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user