Reject non-fast-forwards earlier in BaseReceivePack
If BaseReceivePack has setAllowNonFastForwards(false) configured (such as by receive.denynonfastforwards), automatically reject any command that attempts a non-fast-forward update before it goes further in processing. This matches with other checks in validateCommands(), such as the early failure of delete attempts when isAllowDeletes() is false. Change-Id: I3bb28e4dd6d17cb31ede09eb84ceb67cdb17ea5d
This commit is contained in:
parent
3da4c6fc58
commit
04fa307a70
|
@ -1100,6 +1100,12 @@ protected void validateCommands() {
|
||||||
} else {
|
} else {
|
||||||
cmd.setType(ReceiveCommand.Type.UPDATE_NONFASTFORWARD);
|
cmd.setType(ReceiveCommand.Type.UPDATE_NONFASTFORWARD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cmd.getType() == ReceiveCommand.Type.UPDATE_NONFASTFORWARD
|
||||||
|
&& !isAllowNonFastForwards()) {
|
||||||
|
cmd.setResult(Result.REJECTED_NONFASTFORWARD);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!cmd.getRefName().startsWith(Constants.R_REFS)
|
if (!cmd.getRefName().startsWith(Constants.R_REFS)
|
||||||
|
@ -1123,8 +1129,10 @@ protected List<ReceiveCommand> filterCommands(final Result want) {
|
||||||
|
|
||||||
/** Execute commands to update references. */
|
/** Execute commands to update references. */
|
||||||
protected void executeCommands() {
|
protected void executeCommands() {
|
||||||
List<ReceiveCommand> toApply = ReceiveCommand.filter(commands,
|
List<ReceiveCommand> toApply = filterCommands(Result.NOT_ATTEMPTED);
|
||||||
Result.NOT_ATTEMPTED);
|
if (toApply.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
ProgressMonitor updating = NullProgressMonitor.INSTANCE;
|
ProgressMonitor updating = NullProgressMonitor.INSTANCE;
|
||||||
if (sideBand) {
|
if (sideBand) {
|
||||||
SideBandProgressMonitor pm = new SideBandProgressMonitor(msgOut);
|
SideBandProgressMonitor pm = new SideBandProgressMonitor(msgOut);
|
||||||
|
|
Loading…
Reference in New Issue