summaryrefslogtreecommitdiff
path: root/patchset.proto.new2
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-02-01 06:58:27 -0600
committerJeff Carr <[email protected]>2025-02-01 06:58:27 -0600
commitc89f101fb2b1c082ade67ce14ac92cda7db1de15 (patch)
tree376f2de224b3b6de35b138d3e7ad9f717ce068cf /patchset.proto.new2
parent23d7ad1581b5cd3a6a284be2841407a0703269ef (diff)
namechange
Diffstat (limited to 'patchset.proto.new2')
-rw-r--r--patchset.proto.new276
1 files changed, 76 insertions, 0 deletions
diff --git a/patchset.proto.new2 b/patchset.proto.new2
new file mode 100644
index 0000000..0e8d6f2
--- /dev/null
+++ b/patchset.proto.new2
@@ -0,0 +1,76 @@
+// 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;
+}