Import SVN repo history with renamed chests in Git

I am trying to convert a Subversion repository to Git. The problem I am facing is how to keep a complete full story. The SVN repository has a rather confusing history, and then git-svn works, it starts only with a specific version, ignoring all previous stories.

More: I want to import a project that is now in accordance with std-layout http://svn.../projects/myProject/trunk. However, trunkit is not created in SVN, as it is now. It was originally created as some user-defined path, for example /my_project, and then renamed to SVN myProject/trunk, then a few more moves and renames, and finally it got a standard layout.

So, if I just import the repo as-points to the SVN project folder that I need, the result git-svnlaunches the history from the version where the standard layout was introduced, ignoring the fact that it was moved projects/myProject/trunkto the repository several times earlier.

Technically, I need to import the history of the SVN folder if it was moved / copied to the trunk from some other location (outside the trunk) of the same repository.

Does anyone have any ideas how to restore history from such a repository? Maybe somehow use multiple imports, then git grafts or some other magic? Is there an easy way?

+4
source share
1 answer

reposurgeon, SVN, , . . , " Subversion ".

, , branchify , :

, Subversion :

  • , . . branchify , , {trunk, tags/*, branches/* '*'}.

...

  1. *, . '*' ( true), , /trunk,/tags /branch, .

[]

, ( , ) Subversion. --nobranch read. " ", .

branchify *, . branchify, my_project, myProject/trunk trunk, tags/* branches/*.

Git - my_project, trunk .. , unite graft ; . , , Git git filter-branch, .

0

All Articles