I'm not in favor of it either :-) But after I tried a few other alternatives this was the only that worked without a bunch more work on my part (either up front or continuously). But if anyone has alternatives I'm happy to try them. Here's what I tried.. Manually copying over changes from git to svn (lots of labor all the time and prone to errors); Writing a script to copy/merge/delete changes (hard to get working reliably); Getting git to mirror the modular structure in a non-modular git equivalent inside a Boost svn checkout (couldn't find a way to actually get this to work and seemed dangerous to intermix the two); Using links on my local checkout to mostly automatically reflect my local git to my local svn (because there are links to directories and hence symbolic svn can't deal with them to accomplish the effect).
I've had good success with subgit in getting git and svn repos to always stay two way mirrors of one another. See https://github.com/ned14/boost-trunk for an example, though I've disabled the git to svn mirror there as all commits to github would appear under ned14 in svn because I never bothered with configuring the two way map. Note that subgit needs about 250Mb of RAM, sustained. It also introduces a certain amount of lag to both git and svn commits in order to duplicate the commit. As a temporary measure until we can drop svn forever, it's doable. Note that subgit can be configured to handle a modularized, decentralized git or svn structure, but that is probably significant work as you won't be able to reuse much of the existing scripts. Niall --- Opinions expressed here are my own and do not necessarily represent those of BlackBerry Inc.