forked from wollzelle/gitlab-github-migrate
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCakefile
More file actions
32 lines (27 loc) · 1.05 KB
/
Cakefile
File metadata and controls
32 lines (27 loc) · 1.05 KB
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
Git = require './lib/git'
GitLab = require './lib/gitlab'
GitHub = require './lib/github'
option '-i', '--gitlab_id [ID]', 'GitLab project id'
option '-l', '--gitlab_name [NAME]', 'GitLab repo name'
option '-h', '--github_name [NAME]', 'GitHub repo name'
task 'migrate:repo', 'migrate repository', (options) ->
Git.migrateRepo(options)
task 'migrate:wiki', 'migrate wiki', (options) ->
Git.migrateWiki(options)
task 'migrate:issues', 'migrate issues', (options) ->
{ gitlab_id, github_name } = options
GitLab.getIssues(gitlab_id)
.then (issues) ->
for issue in issues
do (issue) ->
GitLab.getComments(gitlab_id, issue.id)
.then (comments) ->
GitHub.createIssue(github_name, issue, comments)
task 'migrate:milestones', 'migrate milestones', (options) ->
{ gitlab_id, github_name } = options
GitHub.deleteMilestones(github_name)
GitLab.getMilestones(gitlab_id)
.then (milestones) ->
for milestone in milestones
do (milestone) ->
GitHub.createMilestone(github_name, milestone)