Add file exclusion support (sgard exclude/include).
Paths added to the manifest's exclude list are skipped during Add, MirrorUp, and MirrorDown directory walks. Excluding a directory excludes everything under it. Already-tracked entries matching a new exclusion are removed from the manifest. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.11
|
||||
// protoc v7.34.0
|
||||
// protoc v6.32.1
|
||||
// source: sgard/v1/sgard.proto
|
||||
|
||||
package sgardpb
|
||||
@@ -354,6 +354,7 @@ type Manifest struct {
|
||||
Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"`
|
||||
Files []*ManifestEntry `protobuf:"bytes,5,rep,name=files,proto3" json:"files,omitempty"`
|
||||
Encryption *Encryption `protobuf:"bytes,6,opt,name=encryption,proto3" json:"encryption,omitempty"`
|
||||
Exclude []string `protobuf:"bytes,7,rep,name=exclude,proto3" json:"exclude,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@@ -430,6 +431,13 @@ func (x *Manifest) GetEncryption() *Encryption {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Manifest) GetExclude() []string {
|
||||
if x != nil {
|
||||
return x.Exclude
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// BlobChunk is one piece of a streamed blob. The first chunk for a given
|
||||
// hash carries the hash field; subsequent chunks omit it.
|
||||
type BlobChunk struct {
|
||||
@@ -1125,7 +1133,7 @@ const file_sgard_v1_sgard_proto_rawDesc = "" +
|
||||
"\tkek_slots\x18\x02 \x03(\v2\".sgard.v1.Encryption.KekSlotsEntryR\bkekSlots\x1aN\n" +
|
||||
"\rKekSlotsEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12'\n" +
|
||||
"\x05value\x18\x02 \x01(\v2\x11.sgard.v1.KekSlotR\x05value:\x028\x01\"\x8f\x02\n" +
|
||||
"\x05value\x18\x02 \x01(\v2\x11.sgard.v1.KekSlotR\x05value:\x028\x01\"\xa9\x02\n" +
|
||||
"\bManifest\x12\x18\n" +
|
||||
"\aversion\x18\x01 \x01(\x05R\aversion\x124\n" +
|
||||
"\acreated\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\acreated\x124\n" +
|
||||
@@ -1134,7 +1142,8 @@ const file_sgard_v1_sgard_proto_rawDesc = "" +
|
||||
"\x05files\x18\x05 \x03(\v2\x17.sgard.v1.ManifestEntryR\x05files\x124\n" +
|
||||
"\n" +
|
||||
"encryption\x18\x06 \x01(\v2\x14.sgard.v1.EncryptionR\n" +
|
||||
"encryption\"3\n" +
|
||||
"encryption\x12\x18\n" +
|
||||
"\aexclude\x18\a \x03(\tR\aexclude\"3\n" +
|
||||
"\tBlobChunk\x12\x12\n" +
|
||||
"\x04hash\x18\x01 \x01(\tR\x04hash\x12\x12\n" +
|
||||
"\x04data\x18\x02 \x01(\fR\x04data\"E\n" +
|
||||
|
||||
Reference in New Issue
Block a user