incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mathias Bauer <Mathias_Ba...@gmx.net>
Subject Re: [Repo] SVN ETA? (was Re: Request for comments: Community Wiki Services web page.)
Date Wed, 10 Aug 2011 15:20:32 GMT
Hi Christian,

On 10.08.2011 16:23, Christian Lohmaier wrote:

> Hi *,
> 
> On Wed, Aug 10, 2011 at 1:45 PM, Mathias Bauer <Mathias_Bauer@gmx.net> wrote:
>> On 09.08.2011 04:05, Pedro F. Giffuni wrote:
>> [...]
>>
>> Then Christian Lohmaier tried to use hg convert to convert the whole
>> trunk repo and for me it seemed that this was quite promising,
>> especially as it seemed that the process could be accelerated by
>> importing the very old stuff from the still existing OOo svn repo. Did
>> someone give that a try and should we do it?
> 
> Yes, indeed it is - you can import the first 263000 revisions that
> way, saving weeks of conversion.
> 
> svndumpfilter is too dumb to just set a filter to only include trunk,
> as files created in a cws will break the import, thus you need to also
> include the files added in the cws.
> However svndumpfilter is again too stupid to also preserve the target
> directories, thus you have to create those initially. revision 1 of
> the origial repo only creates the trunk dir, so replace that commit
> with one that also creates the target directories for the cws-created
> ones.
> 
> So conversion would be as follows:
> $ svnadmin create /tmp/targetrepo
> $ svn mkdir -m'create dirs that svndumpfilter is too stupid to
> preserve' --parents file:///tmp/targetrepo/cws/appleremote01
> file:///tmp/targetrepo/cws/aw057/drawinglayer/inc/drawinglayer/primitive3d
> [...]
> # then import the dump, moving /trunk to /
> $ svnadmin dump -r 2:277182 --incremental /tmp/svnsyncmirror |
> svndumpfilter --skip-missing-merge-sources trunk
> cws/hr43/solenv/bin/cws cws/hr43/solenv/bin/cws.btm
> cws/hr43/solenv/bin/cws.pl [...other files added on the cws...] | sed
> -e 's#^Node\(-copyfrom\)\{0,1\}-path: trunk/#Node\1-path: #' |
> svnadmin load /tmp/targetrepo
> 
> Then create the checkout, run the map-revisions script, copy the
> generated mapping file to /tmp/targetrepo-wc/.svn/hg-shamap, run hg
> convert -s hg -d svn /tmp/hgrepo/ /tmp/targetrepo
> 
> If you got the disspace available for doing a full checkout of the
> original svn repo, you don't restrict yourself in preserving trunk
> (and the files created on the cws) only, just moving /trunk to / would
> be enough in this case. But a full checkout is *huge*, and I don't
> have 1TB anywhere....
> 
> The dump is limited to revision 277182 as that is the last svn
> revision that matches one in the hg repo (corresponds to mercurial
> revision 263205)
Thanks, seems that you have looked into that quite deeply.

The interesting question is if putting the converted stuff from hg
"trunk" on top of that svn repo will work or if we can't get a
conversion of the hg repo with bearable effort anyway - in that case
importing (checking in) just the tip repo is all we can do now anyway
and so the old svn repo wouldn't be of interest.

>From the various mails on the list I didn't get a final picture. I
thought a conversion hg->svn fails even for "trunk only" as merge
commits are not handled properly, but your mails seemed to indicate that
you have another opinion about that.

Regards,
Mathias

Mime
View raw message