|
|
[[_TOC_]]
|
|
|
|
|
|
# FAQ Migration from INRIA Forge to INRIA Gitlab
|
|
|
|
|
|
## Migration of source control repositories
|
|
|
|
|
|
INRIA gitlab is restricted to git (no subversion anymore), so for subversion users unfamiliar with git, you should take the time to read and understand the basic differences between subversion and git. If you want to stay with subversion, there is no alternative at INRIA, but you can go to SourceSup https://sourcesup.renater.fr/, which is actively maintained by Renater.
|
|
|
|
|
|
You need to decide if you want to migrate just the tip of your development history (last version on the repository) or if you want to migrate the whole commits / branching / tags history.
|
|
|
|
|
|
### Migrating only the last version of the repository
|
|
|
|
|
|
Get the last version of the development tree (git or subversion), and import this in a new gitlab repository. All history is lost.
|
|
|
|
|
|
### Migrating the whole (or part of the) history
|
|
|
|
|
|
#### From Subversion
|
|
|
|
|
|
Checkout the subversion repository with git-svn (https://git-scm.com/docs/git-svn). It creates a git repository from the subversion repository (with all the history). You can then add your gitlab project as a git remote and push to that project.
|
|
|
|
|
|
#### From Git
|
|
|
|
|
|
Checkout all relevant branches of the git repository, add the gitlab project as a new remote, and push all branches to that remote.
|
|
|
|
|
|
#### Filtering history
|
|
|
|
|
|
If needed, you can filter out part of the history before pushing it to the new gitlab git repository, with tools such as git-filter-repo, BFG Repo Cleaner.
|
|
|
|
|
|
## Subversion / Git Hooks
|
|
|
|
|
|
Classic subversion or git hooks, implemented as executable in the hooks directories of the subversion or git server repositories, are not possible on the gitlab. So the usual email on subversion commit / git push has no direct equivalent. Gitlab has the concept of notifications, where this is the user who decides what he/she wants to be notified for. But git push are not part of the notified events. So the best equivalent of the email on commit/push is to activate "Emails on push" in the gitlab project integrations.
|
|
|
|
|
|
For other, more custom / advanced hooks usage, gitlab provides web hooks https://gitlab.inria.fr/help/user/project/integrations/webhooks.md
|
|
|
|
|
|
## Forge Forums and mailing lists
|
|
|
|
|
|
There is no equivalent to forge forums or forge mailing lists. An alternative is to migrate both forge forums and mailing lists to the INRIA mailing lists server https://sympa.inria.fr/sympa.
|
|
|
|
|
|
## Forge Trackers
|
|
|
|
|
|
The equivalent to forge trackers are gitlab issues. The equivalent to having multiple trackers is to use issue labels.
|
|
|
|
|
|
## Forge Tasks
|
|
|
|
|
|
One can use a combination of gitlab milestones and/or issue boards to manage the development.
|
|
|
|
|
|
## Forge Documents, File Release System (FRS)
|
|
|
|
|
|
Forge Documents and File Release System are two tools with similar functionality: managing files. Gitlab is lacking a full equivalent. Since v8.2, there is a release functionality (https://about.gitlab.com/releases/2015/11/22/gitlab-8-2-released/#releases) and since 11.11 there is guest access to releases (https://about.gitlab.com/releases/2019/05/22/gitlab-11-11-released/#guest-access-to-releases). These have some limitations, as pointed in https://stackoverflow.com/questions/29013457/how-to-store-releases-binaries-in-gitlab. The most important limitations are that parts of the functionality can only be controlled by the API, and though releases can be removed, file attachments cannot. There is an open issue upstream regarding this feature: https://gitlab.com/gitlab-org/gitlab/-/issues/16229. Current up-to-date documentation can be found here: https://gitlab.inria.fr/help/user/project/releases/index
|
|
|
|
|
|
## Forge News
|
|
|
|
|
|
No equivalent on gitlab
|
|
|
|
|
|
## Forge Project Activity
|
|
|
|
|
|
The activity page of gitlab projects lists events such as pushes, merge request comments, issues.
|
|
|
|
|
|
## Statistics
|
|
|
|
|
|
No direct equivalent in gitlab, but one should be able to compute many kind of custom statistics by using git itself (for the git repositories) or the gitlab API (for gitlab specific stuff).
|
|
|
|
|
|
## Forge mediawiki
|
|
|
|
|
|
A wiki may be associated with each project in gitlab. The markup language is slightly different from mediawiki, though. When planning the migration of a wiki, you also need to handle attached files (images, etc.).
|
|
|
|
|
|
## Forge Project Hierarchy
|
|
|
|
|
|
Gitlab groups are the alternative to Forge projects hierarchy, and they are actually more powerful and easy to use. |