blob: a50f7d94b1650c386aeb68508ca50ae1bdccc18d [file] [log] [blame]
// Copyright 2008 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package codereview;
option java_package = "com.google.codereview";
// Uploads a bundle to start a review process.
//
message ReplacePatchSet {
// Identity of the change to add a replacement patch set to.
//
required string change_id = 1;
// Commit within the bundle to use as the replacement patch set.
//
required string object_id = 2;
}
message UploadBundleRequest {
// Name of the project this bundle is applied to.
//
required string dest_project = 10;
// Name of the branch the uploader thinks it should
// have its tip commit merged into.
//
required string dest_branch = 11;
// Set if this is a partial bundle upload. Remaining
// segments can be supplied with UploadBundleContinue.
//
required bool partial_upload = 12;
// The unmodified bundle file, including its text based header.
//
// The bundle must have exactly 1 ref available, but the
// name of the ref does not matter. It only needs to be
// a valid ref name ("refs/..." or "HEAD").
//
// This may be a partial fragment of the bundle, in which
// case the partial_upload flag must be set.
//
required bytes bundle_data = 13;
// An object id known to be in this bundle. Typically only
// commits and/or annotated tags would be enumerated here.
//
repeated string contained_object = 1;
// Optional specification of replacement patches for
// already existing change records.
//
repeated ReplacePatchSet replace = 2;
// The requested reviewers for this change. If any are
// email addresses that the server doesn't recognize, an
// UNKNOWN_EMAIL error will be returned, with the
// invalid_reviewers field set to the invalid reviewers.
repeated string reviewers = 3;
// Email addresses to CC for this change. If any are
// not properly formed, email addresses, an UNKNOWN_EMAIL
// error will be returned, with the invalid_cc field see to
// the invalid values.
repeated string cc = 4;
}
message UploadBundleResponse {
enum CodeType {
RECEIVED = 1; // the bundle is fully uploaded
CONTINUE = 4; // client should use UploadBundleContinue
UNAUTHORIZED_USER = 7; // the user account is not allowed to upload
UNKNOWN_CHANGE = 9; // an invalid replacement was suggested
CHANGE_CLOSED = 10; // an invalid replacement was suggested
UNKNOWN_EMAIL = 11; // an unknown or invalid email was supplied
UNKNOWN_PROJECT = 2; // the project is invalid
UNKNOWN_BRANCH = 3; // the branch is invalid
UNKNOWN_BUNDLE = 5; // the bundle id is invalid
NOT_BUNDLE_OWNER = 6; // the bundle is not your bundle
BUNDLE_CLOSED = 8; // the bundle is already uploaded
}
required CodeType status_code = 10;
// Unique identification of this bundle record.
// (RECEIVED, CONTINUE)
//
optional string bundle_id = 11;
// Set for UNKNOWN_EMAIL errors.
repeated string invalid_reviewers = 12;
repeated string invalid_cc = 13;
}
message UploadBundleContinue {
// The bundle identifier supplied by UploadBundleResponse
//
required string bundle_id = 10;
// The segment number of this segment in the bundle.
//
// The first segment (created by UploadBundleRequest)
// is always 1. The first UploadBundleContinue should
// use a segment_id of 2.
//
required int32 segment_id = 11;
// Set if this is a partial bundle upload. Remaining
// segments can be supplied with UploadBundleContinue.
//
required bool partial_upload = 12;
// The next data segment for the bundle.
//
// This may be a partial fragment of the bundle, in which
// case the partial_upload flag must be set.
//
optional bytes bundle_data = 13;
}