diff options
Diffstat (limited to 'proto/upload_bundle.proto')
-rw-r--r-- | proto/upload_bundle.proto | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/proto/upload_bundle.proto b/proto/upload_bundle.proto new file mode 100644 index 0000000000..47fc96824f --- /dev/null +++ b/proto/upload_bundle.proto @@ -0,0 +1,98 @@ +// 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 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; +} + +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_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; +} + +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; +} |