// Copyright 2019 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";

package dashboard;

import "lib/model/key.proto";

message Commit {
    // Next ID: 9
    optional RootKey key = 1;
    optional int64 timestamp = 2;
    optional string sha = 3;
    optional string author = 4;
    optional string authorAvatarUrl = 5;
    optional string message = 8;
    optional string repository = 6;
    optional string branch = 7;
}
