// Copyright 2020 Google LLC // // 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 // // https://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. syntax = "proto3"; message TreeValue { message NormalFile { bytes id = 1; bool executable = 2; } oneof value { NormalFile normal_file = 2; bytes symlink_id = 3; bytes tree_id = 4; bytes conflict_id = 5; } } message Tree { message Entry { string name = 1; TreeValue value = 2; } repeated Entry entries = 1; } message Commit { repeated bytes parents = 1; repeated bytes predecessors = 2; bytes root_tree = 3; bytes change_id = 4; string description = 5; message Timestamp { uint64 millis_since_epoch = 1; int32 tz_offset = 2; } message Signature { string name = 1; string email = 2; Timestamp timestamp = 3; } Signature author = 6; Signature committer = 7; bool is_open = 8; bool is_pruned = 9 [deprecated = true]; } message Conflict { message Part { TreeValue content = 1; } repeated Part removes = 1; repeated Part adds = 2; }