Comments (10)
In GitLab by @jannismain on Jul 11, 2023, 13:29
Gitlab has a mirror option, where projects can be mirrored to other hosts (e.g. other gitlab instance, github, etc.).
Sadly, this only mirrors the repository itself (commits, branches, tags) and not the whole project (issues, merge requests, etc.)
For this use case, external tooling seems to be needed. Will try out node-gitlab-2-github
next
from libjapi.
In GitLab by @jannismain on Jul 11, 2023, 15:41
I have tried this with the testkit repo.
- for images, an AWS S3 bucket is required where they are uploaded (not tried yet)
- for PRs to be recreated successfully, repo must be pushed using the
--mirror
option (I assume this pushed old branches as well)
from libjapi.
In GitLab by @jannismain on Jul 11, 2023, 18:44
Missing assignee (in this case, because cstender is not part of the project on GitHub yet) caused 3 issues not to be transferred (21, 29, 32) for this project. This means, issue numbers are off by 0-3, depending on the issue number.
This is likely resolved by adding all users referenced in issue metadata (e.g. as assignee) to the project on github before transferring the issues.
from libjapi.
In GitLab by @jannismain on Jul 11, 2023, 18:48
@vornkat-iis We need to invite cstender on Github before transferring issues and PRs (again). We can do that either now or on his birthday. Let me know what you prefer.
from libjapi.
In GitLab by @vornkat-iis on Jul 11, 2023, 22:34
Let's do it now.
May I? Delete the repo, recreate empty and invite people?
I would prefer if we do not invite him too often on new tries. Do we want to experiment on something else?
from libjapi.
In GitLab by @jannismain on Jul 12, 2023, 13:21
Sure, go ahead. I'll transfer the project afterwards one last time. I don't think there is much more experimentation needed. Not having cstender as part of the project was the only type of error raised during transfer.
from libjapi.
In GitLab by @jannismain on Jul 12, 2023, 13:23
Otherwise, I could also try this option from node-gitlab-2-github:
depends on your preference :)
from libjapi.
In GitLab by @jannismain on Jul 12, 2023, 20:09
marked the checklist item get @Michael-M-Baron 's username on GitHub as completed
from libjapi.
After all assignees and participants mentioned in the usermap
were added to the project (and accepted their invitation), transfer of issues and pull requests was successful.
from libjapi.
For posterity, the following configuration for the transfer was used:
settings.ts
import Settings from './src/settings';
export default {
gitlab: {
url: 'https://git01.iis.fhg.de',
token: '${GITLAB_TOKEN}',
projectId: 3460,
listArchivedProjects: true,
sessionCookie: '${SESSION_COOKIE}',
},
github: {
// baseUrl: 'https://github.com/',
// apiUrl: 'https://api.github.mycompany.com',
owner: 'Fraunhofer-IIS',
ownerIsOrg: true,
token: '${GITHUB_TOKEN}',
token_owner: 'fraunhofer-iis-bot',
repo: 'libjapi',
recreateRepo: false,
},
s3: {
accessKeyId: '${S3_ACCESS_KEY}',
secretAccessKey: '${S3_SECRET},
bucket: 'fraunhofer-iis',
},
usermap: {
mkj: 'jannismain',
mainczjs: 'jannismain',
vornkat: 'vornkat-iis',
szk: 'vornkat-iis',
sten: 'cstender',
baronml: 'Michael-M-Baron',
and: 'fraunhofer-iis-anon',
probstfn: 'fraunhofer-iis-anon',
oft: 'fraunhofer-iis-anon',
rottinjs: 'fraunhofer-iis-anon',
hmt: 'fraunhofer-iis-anon',
},
projectmap: {
'ks-ip-lib/software/libjapi': 'Fraunhofer-IIS/libjapi',
'ks-ip-lib/software/libjapi-demo': 'Fraunhofer-IIS/libjapi-demo',
'ks-ip-lib/software/pyjapi': 'Fraunhofer-IIS/pyjapi',
},
conversion: {
useLowerCaseLabels: true,
},
transfer: {
description: true,
milestones: true,
labels: true,
issues: true,
mergeRequests: true,
releases: true,
},
debug: false,
useIssueImportAPI: true,
usePlaceholderMilestonesForMissingMilestones: true,
usePlaceholderIssuesForMissingIssues: true,
// If this is set to true (default is false) then all merge requests will be migrated
// as GitHub issues(rather than pull requests).This can be used to sidestep the problem
// where pull requests are rejected by GitHub if the feature branch no longer exists
// or has been merged.
useReplacementIssuesForCreationFails: true,
useIssuesForAllMergeRequests: false,
filterByLabel: null,
trimOversizedLabelDescriptions: false,
skipMergeRequestStates: [],
skipMatchingComments: [],
mergeRequests: {
logFile: './merge-requests.json',
log: false,
},
} as Settings;
from libjapi.
Related Issues (20)
- Resolve "libjapi/doxydir example out of date" - [merged] HOT 12
- Resolve "Add MIT license" - [merged] HOT 12
- Resolve "Japi_pushsrv_destroy is not cleaning ctx->push_service element" - [merged] HOT 13
- Resolve "Include errors using <>/""" - [merged] HOT 8
- Resolve "Different behavior of push services in debug and release mode" - [merged] HOT 8
- Resolve "Add clang-format" - [merged] HOT 11
- Collect code coverage HOT 1
- Improve `make help`
- Provide more modern environments for CI
- Refactor `japi_register_request` and remove `ctx->init`
- CI: upload-artifact v3 deprecated
- libjapi/doxydir example out of date HOT 1
- Google Testframework not optional
- Include errors using <>/"" HOT 5
- dynamic creation of push service during runtime HOT 1
- Add MIT license HOT 1
- server has to remove ungracefull disconnected zombie clients HOT 3
- Add clang-format HOT 1
- update sync-traning docu value written in EEPROM HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libjapi.