svndump - How to update svn properties (mergeinfo) and comments when repositories need to be combined and restructured (incl. remove files, rename folders)? -
initial situation
hi, have 2 original repositories, both have merged and updated:
repository 1
"old code" (orginal cvs, converted via cvs2svn)
layout of repo 1 (viewed svn angle):
/trunk
/branches
/tags
with having development in trunk, using feature branches , merge back, tagged versions -> fine
last source version between 1.0 , 1.1 , in /trunk.
repository 2
"new code", branches aren't correct (see explanation below) , many auto generated files (for example makefiles , intermediate c sources generated flex)
rev 1: add complete source version 1.1, it's on /, not on /trunk.
rev 2: add /trunk /branches /tags , moves source /trunk belongs to.
rev 3: add svn-ignore properties in folders
rev 4: created tag
rev 5: moved /trunk /trunk/sources, adding folder /trunk/stuff deleted later , should not part of new repo
next revs change version 1.x in /trunk/sources
rev 67: add /branches/version2
other revs done in /branches/version2.
goal
i try combine these repositories, remove unused stuff /trunk/stuff, rename /trunk/sources /branches/version_1.x , /branch/version2 /trunk. all while updating mergeinfo , if possible log messages.
this i've tried far
- using cvs2svn convert repo1
- using svnadmin dump repo1
- using svnadmin dump repo2
- optional changes
- using svnadmin create create new repo
- using svnadmin load import both
- using svnadmin dump new repo
- using svndumpfilter on repo2.dmp remove unused stuff, preferably --renumber-revs
- reload repo
it's not possible combine repos without step 4 repo2 starts adding "everything again" , in wrong place.
to working i've changed repo2.dmp manually notepad++ before importing it:
- manually removed rev2
- changing rev1 have changes @ /trunk not on /
this lead new , "working" repository after step 6 svn mergeinfo in repo2 not correct longer still uses old revision numbers (getting worse when excluding empty revisions in step 8).
i've tried change new_repo.dmp partly manual, parts search-and-replace regexp (in case via notepad++) , can fix parts renaming (/trunk/sources /branches/version_1.x , /branch/version2 /trunk) - fixing rev numbers in log messages , svn mergeinfo isn't possible way.
summarized question
is there option update / recreate repository correct (higher) revision numbers in svn mergeinfo, maybe in svn commit messages (they refer other revision numbers "fixed bug x introduced rev123")? there tools / tricks / tipps use renaming folders without manual regexp changes dump?
thank thoughts , answers!
check question , answer. in comments can find simple examples rewrite history.
Comments
Post a Comment