hgsubversion
En mi trabajo aun seguimos usando subversion como herramienta para control de codigo.
- Por que es muy facil de usar, para la gente de diseño.
- Haces commit y se suben los cambios, esto lo complementamos con hook para que haga ciertos cambios en el servidor y actualice código. Esto facilita el trabajo cuando haces aplicaciones facebook ya que no tienes que apuntar la aplicación a tu maquina local para que puedes hacer devel.
Pero a mi me surge la necesidad de hacer commits y commits y mas commits y que no se suban al servidor hasta que ya estén listos. Esto es mas bien una costumbre mía.
hgsubversion es una interfaz entre mercurial y subversion. Con el puedes hacer checkout, commits de subversion pero usando mercurial clone push. Los conflictos los resuelves con mercurial.
De echo puedes hacer commits a un subversion y push a un mercurial. Por ejemplo:
https://bitbucket.org/zodman/tryton_medical/changesets
Creo que encontré una tool que me acompañara bastante tiempo. Nadamas tiene un unico inconveniente “no soporta merge”, pero se resuelve magicamente usando la extension rebase.
Entonces todo tu changeset log debe estar en una sola rama. Y evita merge por que te veras en muchos problemas.