Need to merge paths from SVN to master branch

There is need to migrate multiple folder from SVN parent repository to the master branch of Bitbucket repository.
Parent SVN Repo path: https://svn.dts.fm.rbsgrp.net/financetech/ARE (Attached is the screenshot - SVNParentRepo)
We need to create a repository in bitbucket and move several folders from parent SVN path to master branch of the bitbucket repo.

Example-
SVN repo path- https://svn.dts.fm.rbsgrp.net/financetech/ARE

Bitbucket repo name- Legacy

Need to merge below paths to the master branch of Legacy repo-
https://svn.dts.fm.rbsgrp.net/financetech/ARE/ARE-Automation-FW/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/ARM/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/Common/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/Gasari/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/Model-VPP/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/New_Automation_Framework/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/Non-ARE-Dev/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/Oracle/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/POC/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/Procurator/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/SGLAutomation/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/app-installer/
https://svn.dts.fm.rbsgrp.net/financetech/ARE/are-jira-tools/

Is there a way we can do that?

Hello.

The SVN Mirror add-on is not able to merge directories during the SVN-to-Git translation, but since all those directories reside in the same parent directory (ARE) then it is possible to get all those directories in master branch in Git. To get it done set the URL as follows:

url = https://svn.dts.fm.rbsgrp.net/financetech

and map ARE directory to master branch in Git:

trunk = ARE:refs/heads/master

in this case, all the directories that reside in ARE will appear in master branch in Bitbucket.
If there are other directories besides those you have mentioned and that you don’t want to appear in master, then those directories can be excluded by excludePath setting like follows:

trunk = ARE:refs/heads/master
excludePath = /<name if directory to exclude>
excludePath = /<other directory name to exclude>
…

Or you can set ‘includePath’ setting to include only those directories you need:

trunk = ARE:refs/heads/master
includePath = /ARE-Automation-FW
includePath = /ARM
includePath = /Common
includePath = /Gasari
includePath = /Model-VPP
includePath = /New_Automation_Framework
includePath = /Non-ARE-Dev
includePath = /Oracle
includePath = /POC
includePath = /Procurator
includePath = /SGLAutomation
includePath = /app-installer
includePath = /are-jira-tools

If, on the other hand, there are no directories you want to exclude, then neither excludePath nor includePath setting is needed.

By keeping url as https://svn.dts.fm.rbsgrp.net/financetech, it is taking a lot of time for inital configuration itself and then throwing error “A database error has occurred”. That maybe because /financetech is a heavy repository.
Please suggest.

The automatic configuration can be omitted in this case, I suppose, as the desired configuration is already known. So, to avoid the initial configuration select “Manual Configuration” on the first page of the add-on configuration and then edit the configuration manually on the second page replacing the generated configuration with the one from above.
Another possible approach here is to use the “Single Directory Translation”. For that, set URL to point to ARE directory:

user = https://svn.dts.fm.rbsgrp.net/financetech/ARE 

then select “Single Directory Translation” layout and add the ‘excludes’ or ‘includes’ on the second page so the configuration looks like this:

trunk = :refs/heads/master
excludePath = /<name if directory to exclude>
excludePath = /<other directory name to exclude>
…

or, with ‘includes’:

trunk =:refs/heads/master
includePath = /ARE-Automation-FW
includePath = /ARM
includePath = /Common
includePath = /Gasari
includePath = /Model-VPP
includePath = /New_Automation_Framework
includePath = /Non-ARE-Dev
includePath = /Oracle
includePath = /POC
includePath = /Procurator
includePath = /SGLAutomation
includePath = /app-installer
includePath = /are-jira-tools

This approach a little less flexible as it won’t allow adding branches later, but it will allow translating all those directories into ‘master’ in Git.

Judging from the information in SG-317, the single directory translation approach wouldn’t work as branches cannot be added with this approach.

So, we will have to continue with “Manual Configuration” with setting url as https://svn.dts.fm.rbsgrp.net/financetech ?

We have tried to set the url as https://svn.dts.fm.rbsgrp.net/financetech . When we click on continue on the first page, it shows the status as shown in screenshot and then throws error mentioning “A database error has occurred”(shown in screenshot).
We have tried with both automatic and manual options.

Frankly said I don’t understand the situation completely at this moment. In this SG-316 issue, you mentioned that you needed to translate some SVN folders to the ‘master’ branch in GIt, so I got the impression that you only need the ‘master’ branch and some folders from SVN in it. However, in the SG-317 I found that there was another mapping configuration that included branches and tags and mapped ‘ARE/are’ directory to ‘master’ and that configuration was not compatible with one we were discussing here. Now I’m puzzled a little, what is the desired configuration and which data do you suppose to get in Git? Are those two different setups or it is the same one?

If both SG-316 and SG-317 issues relate to the same setup, then I suggest closing the second issue and continue with one to avoid confusion. In this case, I’d like to ask you to describe the desired setup in detail – namely, which branches and tags you want in Git and which directories in ‘master’ – and I also would need to know your SVN repository layout to be able to create the configuration.

Regarding the errors, it’s hard to say without logs which database is this about, but taking into account the errors I saw in logs provided in SG-317, I assume that it may be that SVN issue again. As I mentioned there in SG-317, the workaround is to set URL to the repository root, but I’m not sure what is the repository root URL, if the repository root is ‘https://svn.dts.fm.rbsgrp.net’ then URL should be set to ‘https://svn.dts.fm.rbsgrp.net’, that was only my suggestion that the root is ‘https://svn.dts.fm.rbsgrp.net/financetech’. Also, it may worth to clear the “Generate authors mapping from Subversion repository history” checkbox as with this feature enabled the addon connects the SVN server and scans its history prior to go to the next step. Note, however, that if this feature is off, then the add-on won’t create any authors mappings automatically.

If the translation fails even with a correct repository root URL, please collect logs from the affected repository. Also, please advise have you imported any other parts of this repository and if yes, has the import gone well? If you haven’t could you please try to checkout the ARE directory with an SVN client, just to check the repository itself is working?

Hi,

Our repository https://svn.dts.fm.rbsgrp.net/financetech is very huge repository. So , we are breaking it into multiple repositories while migrating to GIT. Both the issues SG-316 and SG-317 are for different repositories for Bitbucket and are not linked to each other.
In SG-316, we are trying to migrate the listed folders under the master branch of a GIT repository named Legacy.
In SG-317, We are trying to migrate different paths(mentioned in the request) under https://svn.dts.fm.rbsgrp.net/financetech/ARE to a GIT repository named ARE.
So, the source folders and destination repository is different for both.

Talking about the issue in setting the root url to https://svn.dts.fm.rbsgrp.net/financetech , we have unchecked the “Generate authors mapping from Subversion repository history” checkbox and started the translation again.

Thank you a lot for clarifying, let’s continue with two issues then.

Please let me know how the import goes and if it fails, please collect logs from this Bitbucket repository. Also, in this case, please try to checkout this SVN directory (ARE_ with an SVN client to check the SVN repository consistency, I wouldn’t exclude problems in SVN repository database taking into account the error message it gave before.

The import is in progress. We will update once it completes.

Ok, thank you for letting me know.