views:

158

answers:

0

We've got a subversion repository set up like this:

Repo A
   Sub-Project I
   Sub-Project II
Repo B
Repo C

Recently, I've been tasked with piloting a Mercurial replacement solution. However, my project (Repo A\Sub-Project I), still needs to exist within Subversion, as that is what the build process uses (and can't be modified at the moment for ...political reasons).

So, I've set up the following:

Client<----+-->Mercurial Master------>Mercurial/SVN Gateway------->Subversion
           |
Client<----+

I was hoping that having the Mercurial Master to Mercurial/SVN Gateway link be push-only would isolate the clients from the well-known "can't find svn parent of a merge revision" problem. However, all it does is push the issue up to the Mercurial/SVN Gateway -> Subversion link.

Has anyone ever done this sort of thing successfully? It works great until the first time someone creates a branch. Note that no one is allowed to commit into Repo A\Sub-Project I except for the dummy user on the Mercurial/SVN Gateway machine.

I would accept a method that let Subversion, upon calling 'svn up' on Repo A, get Sub-Project I as some sort of external, if that were possible.