History missing after migration

There is need to migrate just one sub folder from SVN parent repository. But history is not coming properly.
Parent SVN Repo path: https://svn.dts.fm.rbsgrp.net/sstlm (Attached is the screenshot - SVNParentRepo)
We need to migrate the folders under https://svn.dts.fm.rbsgrp.net/sstlm/fin_recs_git/
Snapshot attached for the SVN path.
We have performed the migration using below mapping but complete history is not coming. (Attaching the screenshot from SVN history as well as GIT history)

url : https://svn.dts.fm.rbsgrp.net/sstlm

trunk = fin_recs_git/trunk:refs/heads/master
branches = fin_recs_git/branches/*:refs/heads/*
tags = fin_recs_git/tags/*:refs/tags/*
shelves = fin_recs_git/shelves/*:refs/shelves/*

Bitbucket history snapshot attached
SVN History snapshot attached
Also , attached the logs for https://svn.dts.fm.rbsgrp.net/sstlm

Hello.

Judging from the SVN logs, many directories in this ‘fin_recs_git’ project were created by copying from other projects. To gather complete history, those branches should also be added to the mapping configuration, like:

trunk = fin_recs_git/trunk:refs/heads/master
branches = fin_recs_git/branches/*:refs/heads/*
branches = BOLT/branches/*:refs/heads/BOLT/*
branches = EUDA-SSR/branches/*:refs/heads/EUDA-SSR/*
branches = EUDA-E6E4/branches:refs/heads/EUDA-E6E4/*
branches = P2P_LegalRec/ETL/branches/*:refs/heads/P2P_LegalRec/*
branches = SSR-euda-feed/branches/*:refs/heads/SSR-euda-feed/*
branches = Fin_Recs/Database/*:refs/heads/Fin_Recs/*
tags = fin_recs_git/tags/*:refs/tags/*
tags = BOLT/tags/*:refs/tags/BOLT/*
tags = Fin_Recs/ETL/Tags/*:refs/tags/Fin_Recs_ETL/*
tags = Fin_Recs/TLM/Tags/*:refs/tags/Fin_Recs_TLM/*
tags = EUDA-SSR/tags/*:refs/tags/EUDA-SSR/*
shelves = fin_recs_git/shelves/*:refs/shelves/*

If all the tags and branches from those projects are not needed, then the wildcard mapping should be replaced with specific mappings for every source branch and tag.

Hi,

Getting error while implementing the mapping. Please find the attached screenshot.

It’s not completely clear why it fails, the screenshot does not provide any information on the reason. I may assume that you are trying to add the settings into a configuration in an already imported repository – in such a case, the add-on will not apply the configuration as it doesn’t support adding mapping for SVN directories that are already there in SVN, such a configuration change requires rebuilding. So this configuration should either be added prior to the initial import or the repository should be rebuild from the very beginning to apply the configuration changes.

If, on the other hand, this is not the case, then please collect logs from the repository for analysis.

Hi,

The repository was rebuild from the beginning. Please find the attached logs.

Actually, I meant SVN Mirror add-on log from the Bitbucket repository that would be needed in case if the error appeared not by the reason I assumed. If the repository has been rebuilt successfully, then the log is not needed anymore.

Hi,

The error appeared even after rebuilding a new repository. Please find the add-on logs attached.

Hi,

thank you for the log. It states that the configuration cannot be applied because the number of asterisks on the opposite sides of mapping differs:

Number of asterisks ('*') on the left and right side of the mapping definition differs, when it should be equal..

I made a mistake in the configuration I sent you recently, indeed, my apologies for that. The mistake is that there is no asterisk on SVN side of EUDA-E6E4 mapping. The correct configuration version should look like this:

trunk = fin_recs_git/trunk:refs/heads/master
branches = fin_recs_git/branches/*:refs/heads/*
branches = BOLT/branches/*:refs/heads/BOLT/*
branches = EUDA-SSR/branches/*:refs/heads/EUDA-SSR/*
branches = EUDA-E6E4/branches/*:refs/heads/EUDA-E6E4/*
branches = P2P_LegalRec/ETL/branches/*:refs/heads/P2P_LegalRec/*
branches = SSR-euda-feed/branches/*:refs/heads/SSR-euda-feed/*
branches = Fin_Recs/Database/*:refs/heads/Fin_Recs/*
tags = fin_recs_git/tags/*:refs/tags/*
tags = BOLT/tags/*:refs/tags/BOLT/*
tags = Fin_Recs/ETL/Tags/*:refs/tags/Fin_Recs_ETL/*
tags = Fin_Recs/TLM/Tags/*:refs/tags/Fin_Recs_TLM/*
tags = EUDA-SSR/tags/*:refs/tags/EUDA-SSR/*
shelves = fin_recs_git/shelves/*:refs/shelves/*

If you are trying to apply some other configuration, then check it for the same, an asterisk is missed somewhere in the configuration.

Hi,

We applied the provided configuration but the result is still the same. I have collected information from repository user for the folders that were copied from different locations(details are mentioned below). Would there be any change required in the configuration mappings now?

https://svn.dts.fm.rbsgrp.net/sstlm/EUDA-SSR - Previous path
https://svn.dts.fm.rbsgrp.net/sstlm/fin_recs_git/trunk/etl/java/EUDA-SSR/ - Current path

https://svn.dts.fm.rbsgrp.net/sstlm/EUDA-E6E4 - Previous path
https://svn.dts.fm.rbsgrp.net/sstlm/fin_recs_git/trunk/etl/java/EUDA-E6E4/ - Current path

https://svn.dts.fm.rbsgrp.net/sstlm/P2P_LegalRec/ - Previous path
https://svn.dts.fm.rbsgrp.net/sstlm/fin_recs_git/trunk/etl/java/P2P_LegalRec/ - Current path

https://svn.dts.fm.rbsgrp.net/sstlm/Fin_Recs/ETL/Trunk/FinRecCleanser/ - Previous path
https://svn.dts.fm.rbsgrp.net/sstlm/fin_recs_git/trunk/etl/java/FinRecCleanser/ - Current path

https://svn.dts.fm.rbsgrp.net/sstlm/SSR-euda-feed/ - Previous path
https://svn.dts.fm.rbsgrp.net/sstlm/fin_recs_git/trunk/etl/java/SSR-euda-feed/ - Current path

https://svn.dts.fm.rbsgrp.net/sstlm/BOLT - Previous path
https://svn.dts.fm.rbsgrp.net/sstlm/fin_recs_git/trunk/etl/java/BOLT/ - Current path

https://svn.dts.fm.rbsgrp.net/sstlm/Intersystem/ETL/Trunk/FeedProcessors_Ant-java/ - Previous path
https://svn.dts.fm.rbsgrp.net/sstlm/fin_recs_git/trunk/etl/java/FeedProcessors_Ant-java/ - Current path

Hi,

the changes in the mapping configuration I have introduced were mainly maid to reflect changes made to branches and to import history of the branches including the history before their copying to fin_recs_git. The history of directories that were copied into ‘trunk’ cannot be gathered by mapping configuration, there are no mapping tricks that could help to gather the history for directories inside the ‘trunk’ that is being translated to ‘master’ in Git.

The only way to gather some history in such a case is to use additional Git possibilities, like ‘git filter-branch’ – it can be done by rewriting the history of a particular directory right in the Git repository. Note, however, that such methods can only be applied to an imported repository, they would not work with mirrored repositories, as such an intervention would break the mirror. Also, such an approach would not guarantee the whole history is imported as every branch should be handled manually and the result depends on particular directory history.