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 {
|
||||
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)
|
||||
|
@ -1123,8 +1129,10 @@ protected List<ReceiveCommand> filterCommands(final Result want) {
|
|||
|
||||
/** Execute commands to update references. */
|
||||
protected void executeCommands() {
|
||||
List<ReceiveCommand> toApply = ReceiveCommand.filter(commands,
|
||||
Result.NOT_ATTEMPTED);
|
||||
List<ReceiveCommand> toApply = filterCommands(Result.NOT_ATTEMPTED);
|
||||
if (toApply.isEmpty())
|
||||
return;
|
||||
|
||||
ProgressMonitor updating = NullProgressMonitor.INSTANCE;
|
||||
if (sideBand) {
|
||||
SideBandProgressMonitor pm = new SideBandProgressMonitor(msgOut);
|
||||
|
|
Loading…
Reference in New Issue