SubGit IMPORT to GitLab
Configure GitLab server:
Log in to GitLab web GUI and create a new project:
Give a name to your project and click Create project button.
- Configure the repository:
Change identity to 'git' user:
change identity to git user$ su git
Change directory to that one that contains the newly created project. GitLab usually stores its project in
/var/opt/gitlab/git-data/repositories/<username>
username here is actual GitLab user name that was used during the project creation on step 1. Step into that directory:
change directory$ cd /var/opt/gitlab/git-data/repositories/user
New GitLab project we have created in step 1 is being stored here in the directory of the same name we named the project:
New project content$ ls -l total 0 drwxrwx---. 6 git git 131 apr 25 02:06 project.git drwxrwx---. 6 git git 131 apr 25 02:06 project.wiki.git
Perform initial import configuration:
$ /temp/subgit-3.2.4/bin/subgit configure --layout auto --trunk trunk SVNURL GITREPO
where
- SVN_URL - URL to the SVN project
- GIT_REPO - path to new Git repository where data from the SVN project will be imported to.
The configuration command example:
subgit configure example$ /tmp/subgit-3.2.4/bin/subgit configure --layout auto --trunk trunk http://svn.example.com/svn/repository/project ./project.git SubGit version 3.2.4 ('Bobique') build #3670 Configuring writable Git mirror of remote Subversion repository: Subversion repository URL : http://svn.example.com/svn/repository/project Git repository location : ./project.git Git repository is served by GitLab, hooks will be installed into 'custom_hooks' directory. Detecting peg location... Authentication realm: <http://svn.example.com/:80> Subversion Repository Username [git]: user Password for 'user': Peg location detected: r10248 project/trunk Fetching SVN history... Done. Growing trees... Done. Project origin detected: r1 project/trunk Building branches layouts... Done. Combing beards... Done. Generating SVN to Git mapping... Done. CONFIGURATION SUCCESSFUL To complete SubGit installation do the following: 1) Adjust Subversion to Git branches mapping if necessary: /var/opt/gitlab/git-data/repositories/user/project.git/subgit/config 2) Define at least one Subversion credentials in default SubGit passwd file at: /var/opt/gitlab/git-data/repositories/user/project.git/subgit/passwd OR configure SSH or SSL credentials in the [auth] section of: /var/opt/gitlab/git-data/repositories/user/project.git/subgit/config 3) Optionally, add custom authors mapping to the authors.txt file(s) at: /var/opt/gitlab/git-data/repositories/user/project.git/subgit/authors.txt 4) Run SubGit 'install' command: subgit install ./project.git
Specify authors mapping
Update GIT_REPOS/subgit/authors.txt file or change core.authors option to point to global authors mapping
Find more details about authors mapping in Import book
- Perform import and start using new Git repository:
Import data to the repository by the command:
$ /tmp/subgit-3.2.4/bin/subgit import GIT_REPO
subgit import$ /tmp/subgit-3.2.4/bin/subgit import ./project.git SubGit version 3.2.4 ('Bobique') build #3670 Authentication realm: <http://svn.example.com:80> Subversion Repository Username [git]: user Password for 'user': Translating Subversion revisions to Git commits... Subversion revisions translated: 10248. Total time: 2 hours 15 minutes 38 seconds. IMPORT SUCCESSFUL
When the command completes, you can clone your new Git repository and start to work with it:
$ git clone GITREPO WORKTREE
where
- WORK_TREE – path to your working copy.
- GIT_REPO – GitLab project URL:
repository cloning example$ git clone http://user@example.com/user/project.git ./project.git Cloning into './project.git'... Password for 'http://user@example.com': remote: Counting objects: 99, done. remote: Compressing objects: 100% (39/39), done. remote: Total 99 (delta 50), reused 99 (delta 50) Unpacking objects: 100% (99/99), done.
No license needed for import
Note: no license key required for import!
Would you have any assistance, don't hesitate to contact us at support@subgit.com.