From b65f10b5311148a025d6359baa299d6f513b5a9c Mon Sep 17 00:00:00 2001 From: kdjstudios Date: Thu, 7 Jan 2021 23:21:44 -0700 Subject: [PATCH 1/2] Adding Ability to specify which content to transfer This will allow the spcification of which content to transfer via the settings file. --- README.md | 16 ++++++++++++++++ sample_settings.ts | 6 ++++++ src/index.ts | 25 ++++++++++++++++--------- 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 7e0c903..43f21bb 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,22 @@ IAM User who owns these credential must have [write permissions](https://docs.aw Existing bucket, with an appropriate security policy. One possible policy is to allow [public access](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html). +#### transfer.milestones + +If this is set to true (default) then the migration process will transfer milestones. + +#### transfer.labels + +If this is set to true (default) then the migration process will transfer labels. + +#### transfer.issues + +If this is set to true (default) then the migration process will transfer issues. + +#### transfer.mergeRequests + +If this is set to true (default) then the migration process will transfer merge requests. + #### debug As default it is set to false. Doesn't fire the requests to github api and only does the work on the gitlab side to test for wonky cases before using up api-calls diff --git a/sample_settings.ts b/sample_settings.ts index 01e7cad..64e7c7b 100644 --- a/sample_settings.ts +++ b/sample_settings.ts @@ -28,6 +28,12 @@ export default { conversion: { useLowerCaseLabels: true, }, + transfer: { + milestones: true, + labels: true, + issues: true, + mergeRequests: true, + }, debug: false, usePlaceholderIssuesForMissingIssues: true, useReplacementIssuesForCreationFails: true, diff --git a/src/index.ts b/src/index.ts index 82b9d9c..f105cd8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -128,19 +128,26 @@ async function migrate() { await githubHelper.registerRepoId(); // transfer GitLab milestones to GitHub - await transferMilestones(); + if (settings.transfer.milestones) { + await transferMilestones(); + } // transfer GitLab labels to GitHub - await transferLabels(true, settings.conversion.useLowerCaseLabels); + if (settings.transfer.labels) { + await transferLabels(true, settings.conversion.useLowerCaseLabels); + } // Transfer issues with their comments; do this before transferring the merge requests - await transferIssues(); - - if (settings.mergeRequests.log) { - // log merge requests - await logMergeRequests(settings.mergeRequests.logFile); - } else { - await transferMergeRequests(); + if (settings.transfer.issues) { + await transferIssues(); + } + if (settings.transfer.mergeRequests) { + if (settings.mergeRequests.log) { + // log merge requests + await logMergeRequests(settings.mergeRequests.logFile); + } else { + await transferMergeRequests(); + } } } catch (err) { console.error('Error during transfer:'); From 59ff196d96e5ee37e8447da76883bc14e7f74730 Mon Sep 17 00:00:00 2001 From: kdjstudios Date: Thu, 7 Jan 2021 23:42:27 -0700 Subject: [PATCH 2/2] Missed this file on the push --- src/settings.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/settings.ts b/src/settings.ts index 9fac1c7..9188f07 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -11,6 +11,12 @@ export default interface Settings { conversion: { useLowerCaseLabels: boolean; }; + transfer: { + milestones: boolean; + labels: boolean; + issues: boolean; + mergeRequests: boolean; + }; usePlaceholderIssuesForMissingIssues: boolean; useReplacementIssuesForCreationFails: boolean; useIssuesForAllMergeRequests: boolean;