megarepo: test invisible merge e2e

Reviewed By: StanislavGlebik

Differential Revision: D22924237

fbshipit-source-id: ba13d610c26c1b0be4f4afa75de93568359457c6
This commit is contained in:
Kostia Balytskyi 2020-08-04 12:16:39 -07:00 committed by Facebook GitHub Bot
parent 7f5696155e
commit c8e3c27a65
3 changed files with 171 additions and 0 deletions

View File

@ -0,0 +1,105 @@
{
"repos": {
"megarepo_test": {
"versions": [
{
"large_repo_id": 0,
"common_pushrebase_bookmarks": [
"master_bookmark"
],
"small_repos": [
{
"repoid": 1,
"default_action": "preserve",
"bookmark_prefix": "fbsource/",
"mapping": {
"arvr": ".fbsource-rest/arvr"
},
"direction": "small_to_large"
},
{
"repoid": 2,
"default_action": "prepend_prefix",
"default_prefix": "arvr-legacy",
"bookmark_prefix": "ovrsource/",
"mapping": {
"arvr": "arvr",
"fbandroid": ".ovrsource-rest/fbandroid",
"fbcode": ".ovrsource-rest/fbcode",
"fbobjc": ".ovrsource-rest/fbobjc",
"xplat": ".ovrsource-rest/xplat"
},
"direction": "small_to_large"
}
],
"version_name": "TEST_VERSION_NAME"
},
{
"large_repo_id": 0,
"common_pushrebase_bookmarks": [
"master_bookmark"
],
"small_repos": [
{
"repoid": 1,
"default_action": "preserve",
"bookmark_prefix": "fbsource/",
"mapping": {
"arvr": ".fbsource-rest/arvr_old"
},
"direction": "small_to_large"
},
{
"repoid": 2,
"default_action": "prepend_prefix",
"default_prefix": "arvr-legacy",
"bookmark_prefix": "ovrsource/",
"mapping": {
"arvr": "arvr",
"fbandroid": ".ovrsource-rest/fbandroid",
"fbcode": ".ovrsource-rest/fbcode_old",
"fbobjc": ".ovrsource-rest/fbobjc",
"xplat": ".ovrsource-rest/xplat"
},
"direction": "small_to_large"
}
],
"version_name": "TEST_VERSION_NAME_OLD"
},
{
"large_repo_id": 1,
"common_pushrebase_bookmarks": [
"master_bookmark"
],
"small_repos": [
{
"repoid": 0,
"default_action": "preserve",
"bookmark_prefix": "megarepo_test/",
"mapping": {
".fbsource-rest/arvr": "arvr"
},
"direction": "large_to_small"
},
{
"repoid": 2,
"default_action": "prepend_prefix",
"default_prefix": "arvr-legacy",
"bookmark_prefix": "ovrsource/",
"mapping": {
"arvr": ".ovrsource-rest/arvr",
"fbandroid": ".ovrsource-rest/fbandroid",
"fbcode": ".ovrsource-rest/fbcode",
"fbobjc": ".ovrsource-rest/fbobjc",
"xplat": ".ovrsource-rest/xplat"
},
"direction": "small_to_large"
}
],
"version_name": "TEST_VERSION_NAME_FLIPPED"
}
],
"current_version": "TEST_VERSION_NAME"
}
}
}

View File

@ -0,0 +1,27 @@
{
"repos": {
"megarepo_test": {
"large_repo_id": 1,
"common_pushrebase_bookmarks": [
"master_bookmark"
],
"small_repos": [
{
"repoid": 2,
"default_action": "prepend_prefix",
"default_prefix": "arvr-legacy",
"bookmark_prefix": "ovrsource/",
"mapping": {
"arvr": ".ovrsource-rest/arvr",
"fbandroid": ".ovrsource-rest/fbandroid",
"fbcode": ".ovrsource-rest/fbcode",
"fbobjc": ".ovrsource-rest/fbobjc",
"xplat": ".ovrsource-rest/xplat"
},
"direction": "small_to_large"
}
],
"version_name": "TEST_VERSION_NAME_FLIPPED"
}
}
}

View File

@ -0,0 +1,39 @@
# Common definition for commit sync path mapping
#
# A top-level config must have a name and a repo-id of a large repo
# It may have multiple subconfigs, named `<top-level-name>.small_repos`
# Each of the the `small_repos` configs MUST have:
# - a repo id
# - a bookmark prefix to prepend to every bookmark name
# - a default path syncing action. Is used when none of the
# "map" values matches a path. Can be one of:
# - "preserve": keep this path as it is when syncing
# - "prepend_prefix": prepend the "default_prefix" to this path
# when syncing
# Each of the `small_repos` configs MAY have:
# - a map of prefixes to new prefixes, key "map"
#
# Note: config is written from the "bottom-up" perspective, e.g.
# it contains mappings, needed to sync small repos into a
# a large repo. This mapping needs to be reversable
# (and is reversed when the sync happens in a large-to-small
# direction)
[megarepo_test]
large_repo_id = 1
common_pushrebase_bookmarks = ["master_bookmark"]
version_name = "TEST_VERSION_NAME"
[[megarepo_test.small_repos]]
repoid = 2
bookmark_prefix = "ovrsource/"
default_action = "prepend_prefix"
default_prefix = "arvr-legacy"
direction = "small_to_large"
[megarepo_test.small_repos.mapping]
"arvr" = "arvr"
"fbcode" = ".ovrsource-rest/fbcode"
"fbandroid" = ".ovrsource-rest/fbandroid"
"fbobjc" = ".ovrsource-rest/fbobjc"
"xplat" = ".ovrsource-rest/xplat"