This is a step-by-step guide to importing and mirroring a Subversion project into a Git repository.
- In Bitbucket Server, create a project by clicking Create Project or select the existing one.
- Add an empty Git repository to your project by clicking Create Repository or select the existing repository.
- Specify the settings for the initial configuration of a Subversion project that you want to import or mirror. To do this:
- On an empty repository page, click SVN Mirror.
- In the existing non-empty repository, click Repository Settings, and then click SVN Mirror in the sidebar menu.
Specify the following details:
- URL to the root folder of a Subversion project
- credentials to log in a Subversion repository that contains the required Subversion project
- select the way to identify a Subversion project layout (trunk, branches, tags and shelves)
- specify the email domain for automatic authors mapping
- To start the initial configuration of the project, click Continue.
To reset the initial configuration settings that you’ve specified, click .
- After the initial configuration, review, and if required, adjust the configuration settings to import or mirror your Subversion project properly. See the section for the detailed information.
To restore previous configuration setting that you’ve specified, click Revert Changes.
To go back to the initial configuration of a Subversion project, click Back.
To import a Subversion project into a Git repository, click Import.
After import, synchronization between the Git and the Subversion repositories is disabled.
To start synchronizing the Git repository with the imported Subversion project and the original Subversion repository, click Enable on the Mirror Status pane.
To mirror a Subversion project into a Git repository, click Mirror.
Git repository with the imported Subversion project keeps synchronized with the original Subversion repository. The changes committed either with Subversion or Git are synchronized in both directions.
In case you import or mirror into the non-empty Git repository, the commits that already exist in this repository become unsynced. You have to resolve conflicts manually on the Unsynced Commits tab.
Importing and mirroring may take significant time. It depends on the size of your Subversion project.