summaryrefslogtreecommitdiff
path: root/copy.bara.sky
diff options
context:
space:
mode:
Diffstat (limited to 'copy.bara.sky')
-rw-r--r--copy.bara.sky33
1 files changed, 33 insertions, 0 deletions
diff --git a/copy.bara.sky b/copy.bara.sky
new file mode 100644
index 00000000000..fa6327e284e
--- /dev/null
+++ b/copy.bara.sky
@@ -0,0 +1,33 @@
+# This configuration is for migrating code from one Git repository to another using Copybara.
+# It selectively copies content, excluding specific paths and preserving authorship.
+
+# To test locally
+# sourceUrl = "/path/to/source"
+# destinationUrl = "/path/to/dest"
+
+sourceUrl = "https://github.com/10gen/mongo.git"
+destinationUrl = "https://github.com/mongodb/mongo.git"
+
+core.workflow(
+ name = "default",
+ origin = git.origin(
+ url = sourceUrl,
+ ref = "v6.0",
+ ),
+ destination = git.destination(
+ url = destinationUrl,
+ fetch = "v6.0",
+ push = "v6.0",
+ ),
+ # Change path to the folder you want to publish publicly
+ origin_files = glob(["**"], exclude = ["src/mongo/db/modules/**"]),
+ authoring = authoring.pass_thru("MongoDB <mongodb@mongodb.com>"),
+ mode = "ITERATIVE",
+ transformations = [
+ # (^.*?) - matches the first line (without the newline char)
+ # \n - matches the first newline (or nothing at all if there is no newline). If there is no match then nothing happens
+ # ((\n|.)*) - matches everything after
+ # Overall, this copies only the first line of the commit rather than the body
+ metadata.scrubber("(^.*?)\n((\n|.)*)", replacement = "$1"),
+ ],
+)