Não me importo muito com qual SCM devo usar, mas o fato de o git ser tão popular cria todo um ecossistema ao seu redor. Infelizmente, com o SVN, sinto que pertenço a uma raça extinta. Então, para superar esse obstáculo, eu uso git svn
.
Sempre que clono um repositório, sigo o seguinte caminho:
$ git svn clone svn://servervcs/Project/ -T trunk -b branches -t tags --prefix=origin
$ cd Project
Agora, crio um branch remoto no SVN com:
$ git svn branch -m "create branch for working on feature" feature_branch
Em seguida, crio um branch local que rastreia este branch remoto:
$ git checkout -b local/feature_branch origin/feature_branch
Bem, agora podemos fazer isso funcionar e enviar para o branch remoto:
[local/feature_branch] $ git svn dcommit
Committing to svn://servervcs/Project/branches/feature_branch ...
A test
Committed r19310
A test
r19310 = c3a343196ba0f429b49dacd9b0719ab9214a3a2d (refs/remotes/feature_branch)
No changes between 1763f525c27350cbc5aaa72df795b52d091392be and refs/remotes /feature_branch
Resetting to the latest refs/remotes/feature_branch