summaryrefslogtreecommitdiff
path: root/patchset.proto
diff options
context:
space:
mode:
Diffstat (limited to 'patchset.proto')
-rw-r--r--patchset.proto71
1 files changed, 50 insertions, 21 deletions
diff --git a/patchset.proto b/patchset.proto
index c4f99c6..37cecf4 100644
--- a/patchset.proto
+++ b/patchset.proto
@@ -1,44 +1,72 @@
+// 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
-// this generic message is used by autogen to identify and
-// then dump the uuid and version from any arbitrary .pb file
-message Identify { // `autogenpb:marshal`
- string uuid = 1; //
- string version = 2; //
-}
+// 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 filename = 1; // `autogenpb:unique` `autogenpb:sort`
- 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
- string comment = 11; // the git commit message (in patch form)
- string repoNamespace = 12; // the base repo git URL
- string newHash = 13; // new hash after git am
+ 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
+ string filename = 19; // `autogenpb:unique` `autogenpb:sort`
+ string startHash = 20; // the start commit hash
+ string commitHash = 21; // the git commit hash of this patch
+ string comment = 22; // the git commit message (in patch form)
+ repeated string Files = 23; // the filenames this patch changes
}
-message Patches { // `autogenpb:marshal`
+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; // `autogenpb:unique` `autogenpb:sort`
+ 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 this patchset
+ google.protobuf.Timestamp ctime = 6; // create time of the patchset
string tmpDir = 7; // temp dir
string startBranchName = 8; //
string endBranchName = 9; //
@@ -46,6 +74,7 @@ message Patchset { // `autogenpb:mars
string endBranchHash = 11; //
string state = 12; // the state of the patch
string uuid = 13; // identify each patchset somehow
+
}
message Patchsets { // `autogenpb:marshal`