Merge branch 'stable-2.15' into stable-2.16
* stable-2.15: ReceiveCommits: Validate ref operation before commits for non-ff case Add test coverage for ref operation validation extension point Upgrade JGit to 4.11.8.201904181247-r CreateProject: Expose createProject method ElasticContainer: Switch to Alpine-based images from blacktop Bazel: Fix lint warning flagged by buildifier Change-Id: I43f6b82744788ffe6635abc3c06af57cf0629a5e
This commit is contained in:
@@ -1249,11 +1249,8 @@ class ReceiveCommits {
|
||||
}
|
||||
|
||||
private void parseRewind(ReceiveCommand cmd) throws PermissionBackendException {
|
||||
RevCommit newObject;
|
||||
try {
|
||||
newObject = receivePack.getRevWalk().parseCommit(cmd.getNewId());
|
||||
} catch (IncorrectObjectTypeException notCommit) {
|
||||
newObject = null;
|
||||
receivePack.getRevWalk().parseCommit(cmd.getNewId());
|
||||
} catch (IOException err) {
|
||||
logger.atSevere().withCause(err).log(
|
||||
"Invalid object %s for %s forced update", cmd.getNewId().name(), cmd.getRefName());
|
||||
@@ -1262,11 +1259,12 @@ class ReceiveCommits {
|
||||
}
|
||||
logger.atFine().log("Rewinding %s", cmd);
|
||||
|
||||
if (newObject != null) {
|
||||
validateRegularPushCommits(new Branch.NameKey(project.getNameKey(), cmd.getRefName()), cmd);
|
||||
if (cmd.getResult() != NOT_ATTEMPTED) {
|
||||
return;
|
||||
}
|
||||
if (!validRefOperation(cmd)) {
|
||||
return;
|
||||
}
|
||||
validateRegularPushCommits(new Branch.NameKey(project.getNameKey(), cmd.getRefName()), cmd);
|
||||
if (cmd.getResult() != NOT_ATTEMPTED) {
|
||||
return;
|
||||
}
|
||||
|
||||
Optional<AuthException> err = checkRefPermission(cmd, RefPermission.FORCE_UPDATE);
|
||||
|
||||
@@ -240,7 +240,8 @@ public class CreateProject
|
||||
}
|
||||
}
|
||||
|
||||
private ProjectState createProject(CreateProjectArgs args)
|
||||
// TODO(dpursehouse): Add @UsedAt annotation
|
||||
public ProjectState createProject(CreateProjectArgs args)
|
||||
throws BadRequestException, ResourceConflictException, IOException, ConfigInvalidException {
|
||||
final Project.NameKey nameKey = args.getProject();
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user