This tool recursively copies/synchronizes a GitLab group from one GitLab server to another.
@@ -73,6 +73,7 @@ options:
a JSON file with extra options for projects creation; incompatible with --new-project-options
--use-src-issue-tracker
make destination projects to use their source project issue tracker
--alt-ci ALT_CI alternative CI/CD configuration file(s) to prefer over '.gitlab-ci.yml', comma-separated and ordered by preference;if one of them exists in the source repository, it is set as the destination project's CI/CD configuration file
--dry-run dry run (don't execute any write action)
--halt-on-error halt synchronizing whenever an error occurs
--cache-dir CACHE_DIR
@@ -107,6 +108,7 @@ options:
| `--new-project-options` | `$NEW_PROJECT_OPTIONS` | a JSON string with [extra options for projects creation](https://docs.gitlab.com/api/projects/#create-a-project)(default value disables issues and MR, *see below*) |
| `--new-project-options-from` | `$NEW_PROJECT_OPTIONS_FROM` | a JSON file with [extra options for projects creation](https://docs.gitlab.com/api/projects/#create-a-project); incompatible with `--new-project-options` |
| `--use-src-issue-tracker` | `$USE_SRC_ISSUE_TRACKER` | make destination projects to use their source project issue tracker |
| `--alt-ci` | `$ALT_CI` | alternative CI/CD configuration file(s) to prefer over `.gitlab-ci.yml` (multiple CLI option; env. var. is a comma-separated list, ordered by preference); if one exists in the source repository, it is set as the destination project's CI/CD configuration file; *Example: `.gitlab-ci-alt.yml`* |
| `--dry-run` | `$DRY_RUN` | dry run (don't execute any write action) |
| `--halt-on-error` | `$HALT_ON_ERROR` | halt synchronizing when an error occurs |
| `--cache-dir` | `$CACHE_DIR` | cache directory (used to download resources such as images and Git repositories) (defaults to `.work`) |
help="alternative CI/CD configuration file(s) to prefer over '.gitlab-ci.yml', comma-separated and ordered by preference; if one of them exists in the source repository, it is set as the destination project's CI/CD configuration file",
)
parser.add_argument(
"--dry-run",
default=trueish_env_var("DRY_RUN"),
@@ -1287,6 +1350,9 @@ def run() -> None:
print(
f"- use src iss. tracker (--use-src-issue-tracker): {AnsiColors.CYAN}{args.use_src_issue_tracker}{AnsiColors.RESET}"
)
print(
f"- alt CI config files (--alt-ci) : {AnsiColors.CYAN}{', '.join(args.alt_ci)}{AnsiColors.RESET}"