syntax = "proto3";

package forgepb;

import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp

message Patch {
  string filename                       = 1; // `autogenpb:unique`
  bytes  data                           = 2; //
  string repoPath       		= 3; // path to the git repo
  string branchName     		= 4; //
  string branchHash     		= 5; //
  google.protobuf.Timestamp ctime       = 7; // the git commit timestamp of this patch
  string commitHash     		= 8; // the git commit hash of this patch
  string startHash         		= 9; // the start commit hash
  repeated string Files                 = 10; // the filenames this patch changes
}

message Patchs {			// `autogenpb:marshal`
	string   uuid	        = 1;    // `autogenpb:uuid:0703df95-6a38-4422-994b-c55d3d6001f9` // todo: add file support
	string   version        = 2;    // could be used for protobuf schema change violations?
	repeated Patch Patchs  = 3;
	string   name           = 4;    //
	string   comment        = 5;    //
	string   gitAuthorName  = 6;    //
	string   gitAuthorEmail = 7;    //
        google.protobuf.Timestamp ctime = 8;    // create time of this patchset
	string   tmpDir                 = 9;    // temp dir
	string   startBranchName        = 10;   //
	string   endBranchName          = 11;   //
	string   startBranchHash        = 12;   //
	string   endBranchHash          = 13;   //
}