incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Lohmaier <cl...@openoffice.org>
Subject Re: [Repo] SVN ETA? (was Re: Request for comments: Community Wiki Services web page.)
Date Wed, 10 Aug 2011 14:23:10 GMT
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)

ciao
Christian

Mime
View raw message