On 06/27/2011 01:08 AM, Greg Stein wrote:
On Sat, Jun 25, 2011 at 08:21, Jens-Heiner Rechtien<[email protected]>  wrote:
On 06/23/2011 09:17 PM, Greg Stein wrote:

On Thu, Jun 23, 2011 at 14:02, Pedro F. Giffuni<[email protected]>
  wrote:

Disclaimer: I am no SVN expert but I play a lot with
FreeBSD's SVN repository.

--- On Thu, 6/23/11, Mathias Bauer<[email protected]>    wrote:

Hi,

I'm no svn expert, but I hope to find some here.

We still have a lot of work in so called child workspaces
(in Mercurial they are just an own repository that
originates from the "main" repository).

In subversion those are "branches", so you create a branch
everytime there is a release or if you want to create a
your own custom project with experimental changes that will
be merged later on.

Yup. Here is how the Subversion project itself uses branches:


http://subversion.apache.org/docs/community-guide/general.html#branch-policy


Regarding the existing CWSs, those repositories "should be" imported
as branches here at the ASF. I'm not entirely sure how to gather up a
bunch of Hg repositories and blend them into a single repository, but
that would be best. We can then convert that single Hg repository to
Subversion and load the sucker onto svn.apache.org.

Merging them in hg is easy, just pull/merge. But ... we are talking about a
hundred or so CWSs here. In all kinds of readiness states.
http://hg.services.openoffice.org

If we merge them now, we won't have a working OOo for a long time. Now, we
could skip the merge part and leave the heads "dangling". Hg heads are kinda

That's what I was thinking. And then map these "dangling" heads to
individual branches in svn.

anonymous branches in Mercurial. Don't know if a repository with multiple
heads can be converted to SVN. Probably quite tricky (the tool would need to
generate sensible names for the different heads).

If the converter tool doesn't have the feature, it seems pretty
straight-forward to add code to either provide a name mapping for
them, or auto-generate names.

The anonymous heads could be marked with the cws name as a mercurial bookmark, just after the individual pull step. That way the information is at least already in the all-in-one hg repository. A smart converter could use them to generate svn branch names. Something along this lines:

$ cd <all-in-one-respository>
$ hg pull ../cws/os151

... the latest changeset of CWS os151 is now tip

$ hg bookmark -r tip os151

$ hg bookmarks
   os151                     276718:f4d674e63830
   ....

Heiner

--
Jens-Heiner Rechtien

Reply via email to