-
-
Notifications
You must be signed in to change notification settings - Fork 3k
QGIS issue tracker migration plan
This is an ongoing work and will need approval once it is done. Do not take it as a fixed plan. Contributions welcome, please get in touch if you want to participate.
Edit 2018-06-05 : This migration plan is in no way related to the recent news that Microsoft buys GitHub. This plan has been drafted way before, and is based on feature analysis and is originally triggered by the intention to migrate from Redmine to another issue tracker.
This draft takes Gitlab as a target.
The CI part is not touched in this plan, as a GitHub mirror of the code would be kept to be able to trigger Travis build and CI. Full CI migration to GitLab would be interesting but is not on the critical path and can be worked on later.
Issue tracker
- migration of issues
- migration of issues trackers
- migration of issues categories
- migration of issues status
- migration of issues assignments
- migration of issues Ids
- migration of issues URL
- migration of issues attachment
- migration of issue creation date
- migration of issue content formatting
- migration of internal linking between issues
- migration of references between issues
- migration of references between issues and PR / commits
- migration of versions / roadmaps in issues
- migration of comments author
- migration of comments dates
- migration of issue creator
- migration of notifications parameters for each issue/user
Code tracker
- migration of source code and history ( git repository)
- migration of branches
- migration of Tags
- migration of PRs
- migration of PRs authors
- migration of PRs comments
- migration of code comments in PRs reviews
Continuous integration
- compilation
- test
- package building (continuous delivery)
Various
- Opensource solution
- Allow to backups of our issues, code, PRs
- Try a migration of issues from Redmine to a Gitlab instance with the requirements above
- Decide between in-house or gitlab.com ( needed for item below)
- Define user mapping between Redmine users and Gitlab
- email users so they create an account on the target platform if they want to have their issues and comments still assigned.
- Also an opportunity to ask them nicely to clean their issues in redmine.
- Determine how much users kept and lost
- Alternative in case of in-house gitlab :
- automatically create accounts on our GitLab for each redmine account
- Take the decision to apply the plan
- Make public announcement on the forthcoming change
- Define an issue management policy using labels
- Create templates for issues in Gitlab
- Put Redmine in read-only mode
- Launch the real migration of issues
- Make public announcement on the change
- Do a issue triage
- Have Gitlab as a mirror of GitHub Code
- Make Github read-only ( Code & PR)
- Import GitHub code and PRs to GitLab
- Switch code and PR references to Gitlab in all documents
- Document how to input a new issue
- Setup a code mirror on GitHub to keep Travis CI happy
- Convert Travis scripts to GitLab CI
- Shutdown Redmine
Issue tracker
item | status | notes |
---|---|---|
migration of issues | ok | all issues can be migrated |
migration of issues trackers | ok | trackers are migrated as labels |
migration of issues categories | ok | categories are migrated as labels |
migration of issues status | ok | open/closed is respected, full status additionally migrated as label |
migration of issues assignments | WIP | needs a user mapping file |
migration of issues Ids | WIP | should theoritically work, not tested. May require shell access to target server |
migration of issues URL | WIP | should theoritically work, not tested. Require Apache setup on origin server |
migration of issues attachment | ok | inline images are kept too |
migration of issue creation date | ok | |
migration of issue content formatting | WIP | so far formatting is kept, converted to Markdown |
migration of internal linking between issues | WIP | not tested yet |
migration of references between issues | WIP | not tested yet |
migration of references between issues and PR / commits | WIP | not tested yet |
migration of versions / roadmaps in issues | ok | migrated as milestones |
migration of comments author | ok | needs user mapping file |
migration of comments dates | workaround | comment dates are inserted in the comment |
migration of issue creator | ok | needs a user mapping file |
migration of notifications parameters for each issue/user | ko | notification parameters are different between redmine and Gitlab and will be lost |
Code tracker
Tested here using Gitlab.com import tool : https://gitlab.com/mhugo/QGIS/
item | status | notes |
---|---|---|
migration of source code and history ( git repository) | ok | through Gitlab import or directly with git remote |
migration of PRs | ok | PRs are migrated ok with GitLab.com import tool |
migration of PRs authors | ok | ok with gitlab.com tool for all users registered on gitlab.com. When user does not exists the original user is named in PR comment. Unknown if in-house hosting allows for user creation before and therefore migration of all authors (with which tool ?) |
migration of PRs comments | ok | with gitlab.com tool |
migration of code comments in PRs reviews | WIP | to be analyzed in abovementionned repository |
Continuous integration (GitLab CI/CD)
item | status | notes |
---|---|---|
compilation | WIP | |
test | WIP | |
package building (continuous delivery) | WIP |
Various
item | status | notes |
---|---|---|
Opensource solution | ok | OpenCore model, Community Edition usable online or on-premises |
Allow to backups of our issues, code, PRs | ok | if in-house, classic backups. If gitlab.com "export" feature |