summaryrefslogtreecommitdiff
path: root/patchset.proto.new
diff options
context:
space:
mode:
Diffstat (limited to 'patchset.proto.new')
-rw-r--r--patchset.proto.new74
1 files changed, 74 insertions, 0 deletions
diff --git a/patchset.proto.new b/patchset.proto.new
new file mode 100644
index 0000000..96c6e39
--- /dev/null
+++ b/patchset.proto.new
@@ -0,0 +1,74 @@
+syntax = "proto3";
+
+package forgepb;
+
+import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
+
+/*
+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;
+}