Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
schacon = Scott Chacon <schacon@geemail.com>
selse = Someo Nelse <selse@geemail.com>


Warning

If your users.txt file contains no entries
LOGIN = USERNAME <EMAIL>
the conversion process fails

To get a list of the author names that SVN uses, you can run this:

...

Create git branches and tags

Warning

Remember to load the git module to use the git svn feature
$ module load git

You can provide this file to git svn to help it map the author data more accurately. You can also tell git svn not to include the metadata that Subversion normally imports, by passing --no-metadata to the clone or init command (though if you want to keep the synchronisation-metadata, feel free to omit this parameter). This makes your import command look like this:

Code Block
$ git svn clone https://gforge-next.eufus.eu/svn/<SVN_PROJECT_NAME>/ \
      --authors-file=users.txt --no-metadata --prefix "" -s my_project
$ cd my_project


Info

If the above command does not work, it is need to load the patch module for the git svn command:
$ module load git-svn

Info
titleNon-standard SVN layouts

If your SVN repository doesn’t have a standard layout, you need to provide the locations of your trunk, branches, and tags using the --trunk--branches, and --tags command line options. For example, if you have branches stored in both the /branches directory and the /bugfixes directories, you would use the following command:

Code Block
git svn clone --trunk=/trunk --branches=/branches --branches=/bugfixes --tags=/tags --authors-file=users.txt --no-metadata --prefix ""  https://<USERNAME>@gforge6<USERNAME>@gforge-next.eufus.eu/svn/<SVN_PROJECT_NAME> my_project


Warning
In case you consider the current layout of your SVN/Git repository more elaborate than usual (convoluted /tags, /trunk and /branches or heavily reliant on externals), please contact the ACH team to get some assistance on the migration.

You should also do a bit of post-import cleanup. For one thing, you should clean up the weird references that git svn set up. First you’ll move the tags so they’re actual tags rather than strange remote branches, and then you’ll move the rest of the branches so they’re local.

...

You can easily browse the new repository using gitk command:

Code Block
$ gitk --all

Prepare new project

  1. Log in to https://gitlab.eufus.psnc.eu/dashboard/projects
  2. Press button "New project"
  3. Choose "Create blank project"
  4. Fill in the project form
  5. Disable option Initialize repository with a README
  6. Press button "Create project"

Send changes to new Git repository

...

Code Block
$ git remote add origin https://gitlab.eufus.eu/gitpsnc.pl/<YOUR_GITLAB_USERNAME>/<GIT_PROJECT_NAME>

Because you want all your branches and tags to go up, you can now run this:

...

Info

Password is needed to access remote git repositories.
There is no support for ssh connections.
Git allow to store authentication parameters ( the default location is ~/.git-credentials):

Code Block
$ git config --global credential.helper store


...