Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'proto/cleanup.proto')
-rw-r--r--proto/cleanup.proto39
1 files changed, 39 insertions, 0 deletions
diff --git a/proto/cleanup.proto b/proto/cleanup.proto
index 511bbff46..77cf6c6a3 100644
--- a/proto/cleanup.proto
+++ b/proto/cleanup.proto
@@ -17,6 +17,26 @@ service CleanupService {
};
}
+ // RewriteHistory redacts targeted strings and deletes requested blobs in a
+ // repository and updates all references to point to the rewritten commit
+ // history. This is useful for removing inadvertently pushed secrets from your
+ // repository and purging large blobs. This is a dangerous operation.
+ //
+ // The following known error conditions may happen:
+ //
+ // - `InvalidArgument` in the following situations:
+ // - The provided repository can't be validated.
+ // - The repository field is set on any request other than the initial one.
+ // - Any request, including the initial one, does not contain either blobs to
+ // remove or redaction patterns to redact.
+ // - A blob object ID is invalid.
+ // - A redaction pattern contains a newline character.
+ rpc RewriteHistory(stream RewriteHistoryRequest) returns (RewriteHistoryResponse) {
+ option (op_type) = {
+ op : MUTATOR
+ };
+ }
+
}
// ApplyBfgObjectMapStreamRequest ...
@@ -47,3 +67,22 @@ message ApplyBfgObjectMapStreamResponse {
// entries ...
repeated Entry entries = 1;
}
+
+// RewriteHistoryRequest is a request for the RewriteHistory RPC.
+// Each request must contain blobs, redactions, or both.
+message RewriteHistoryRequest {
+ // repository is the repository that shall be rewritten.
+ // Must be sent on the first request only.
+ Repository repository = 1 [(target_repository)=true];
+ // blobs is the list of blob object ids that will be removed from history.
+ repeated string blobs = 2;
+ // redactions is the list of literals or patterns that will be replaced
+ // with "***REMOVED***". Items cannot contain newline characters.
+ // See https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html
+ // for a full explanation of what patterns are supported.
+ repeated bytes redactions = 3;
+}
+
+// RewriteHistoryResponse a response for the RewriteHistory RPC.
+message RewriteHistoryResponse {
+}