summaryrefslogtreecommitdiff
path: root/copy.bara.sky
blob: fa6327e284eac1b4f0c4717e4a3c3f0e2fd7a977 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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"),
    ],
)