[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn log output in directory-trees that contain moved sub-trees

From: Matthias Gerstner <Matthias.Gerstner_at_ncp-e.com>
Date: Wed, 31 Oct 2012 18:25:44 +0100

> Did you accomplish that as three individual moves? Try accomplishing
> it as 'svn cp ^/ ^/trunk' instead.

That didn't change anything. As I see it 'svn move' uses 'svn copy'
anyway to achieve its results.

Maybe I chose a too simple example. Actually I have say 50 repositories
each having their conventional trunk/tags/branches structure. I want to
merge those repositories into a new, central one. I do this by loading
the individual repository dumps in the target repository at some
temporary location. Then I do a series of moves to organize the
individual trunk/tags/branches into a new structure.

So initially I have some repos like this:

repoA/trunk/...
repoA/branches/<branches>
repoA/tags/<tags>

repoB/trunk/...
repoB/branches/<branches>
repoB/tags/<tags>

In a first step I load them into a pristine repository:

newRepo/tmp/repoA/{trunk,tags,branches}
newRepo/tmp/repoB/{trunk,tags,branches}

In a later step I reorganize the paths to become:

newRepo/trunk/some/place/repoAtrunk
newRepo/trunk/some/place/repoBtrunk
newRepo/branches/<some_branch>/some/place/repoAbranch
newRepo/branches/<some_branch>/some/place/repoBbranch
newRepo/tags/<some_tag>/some/place/repoAtag
newRepo/tags/<some_tag>/some/place/repoBtag

I'm doing this using a script as the operations are many and rather
complex. The individual repositories share some tags and branches that
are equally named. I'm merging those branches and tags in the new target
repository.

All of this works pretty well for me with the exception of the history
behaviour. The history is all there but as I said before when in
'newRepo/trunk' I don't see any of the old history of repoA or repoB.
I can see the history only at the root of newRepo, because this is where
repoA and repoB have been initially loaded to (under newRepo/tmp). And,
of course, within newRepot/trunk/somple/place/repoAtrunk and so on the
history is also visible.

Due to the complexity of the restructuring I don't want to start
fiddling with the content of the dump files to fixup paths. Also, this
approach has the beauty that all the copy-on-write semantics stay valid
and no unnecessary duplication of data occurs during the migration
process.

Even when I'm finished with the migration to the new repository
structure there will come up a number of 'svn move' operations in
the future, because the current structure is pretty unsatisfactory for
me. And then, again, I'd have trouble getting a complete history log in
all repository locations.

Greetings,

Matthias

-- 
Matthias Gerstner, Dipl.-Wirtsch.-Inf. (FH)
Entwicklung
NCP engineering GmbH
Dombühler Straße 2, D-90449, Nürnberg
Geschäftsführer Peter Söll, HRB-Nr: 77 86 Nürnberg
Telefon: +49 911 9968-153, Fax: +49 911 9968-229
E-Mail: Matthias.Gerstner_at_ncp-e.com
Internet: http://www.ncp-e.com

  • application/pgp-signature attachment: stored
Received on 2012-10-31 18:38:40 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.