// Copyright 2025 WIT.COM Inc Licensed GPL 3.0 syntax = "proto3"; package forgepb; import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp // I don't need this kind of specicivity (can't spell) // but this is what the patch files contain and how git sees them // message Blob { // string hunkLine = 1; // bytes data = 2; // } // // message File { // string filename = 1; // string hashLine = 2; // repeated Blob Blobs = 3; // } // // message Patch { // repeated File Files = 1; // string repoNamespace = 2; // string gH = 3; // string gaI = 4; // string gcI = 5; // } // git log -1 --format="%H %aI %cI %an %ae %cn %ce" message Patch { string repoNamespace = 1; // the base repo git URL bytes data = 2; // the raw data of the whole patch string gH = 3; // after some deliberation, I think I'll just try variable names string gT = 4; string gP = 5; string gs = 6; string gaI = 7; // that exactly match what git uses. string gan = 8; string gae = 9; string gcI = 10; string gcn = 11; string gce = 12; string gN = 13; string gGG = 14; string gGS = 15; string gGK = 16; string newHash = 17; // new hash string state = 18; // the 'state' of the patch } message Patches { // this is a "PATCH: [1/x]" series string uuid = 1; // `autogenpb:uuid:be926ad9-1111-484c-adf2-d96eeabf3079` // todo: add autogenpb support for this string version = 2; // `autogenpb:version:v0.0.45` // todo: add autogenpb support for this repeated Patch Patches = 3; } message Patchset { // `autogenpb:marshal` Patches patches = 1; // string name = 2; // `autogenpb:sort` string comment = 3; // string gitAuthorName = 4; // `autogenpb:sort` string gitAuthorEmail = 5; // google.protobuf.Timestamp ctime = 6; // create time of the patchset string tmpDir = 7; // temp dir string startBranchName = 8; // string endBranchName = 9; // string startBranchHash = 10; // string endBranchHash = 11; // } message Patchsets { // `autogenpb:marshal` string uuid = 1; // `autogenpb:uuid:be926ad9-f07f-484c-adf2-d96eeabf3079` // todo: add autogenpb support for this string version = 2; // `autogenpb:version:v0.0.45` // todo: add autogenpb support for this repeated Patchset Patchsets = 3; }