¿Solo estás buscando git-svn? Por depende, ¿quiere decir que la versión principal está en svn o tiene proveedores que son proyectos svn?
Asumir por depende significa la dependencia:
Puede poner cualquier tipo de repositorio dentro de un repositorio git sin problemas. p.ej
$ mkdir ~/project
$ cd ~/project
$ git init
$ ...
$ git commit -va
[master (root-commit) xxxxxxx] Did something
...
$ mkdir vendors
$ cd vendors
$ svn checkout svnproject(url)
$ cd svnproject
$ ...
$ svn ci -m "committing to svnproject"
etc.
Y luego maneja svnprojectcomo lo harías normalmente. Por supuesto, puede usarlo git-svnpara interactuar con su repositorio svn usando los comandos git.
También puedes hacer esto:
$ cd ~/projects
$ git add vendors/svnproject
$ git commit -m "adding svnproject source to main repo"
En ese caso, las actualizaciones que realice en los archivos svnprojectaparecerán como svn y git diffs. Un ejemplo donde /tmp/gitprojectes un proyecto .. git, y /tmp/gitproject/vendor/minifyes un pago (aleatorio) svn:
[andy@laptop:/tmp/gitproject/vendor/minify]$ vim README.txt
[andy@laptop:/tmp/gitproject/vendor/minify]$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: README.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
[andy@laptop:/tmp/so/vendor/minify]$ svn status
M README.txt
[andy@laptop:/tmp/so/vendor/minify]$
Si usa git-svnpara interactuar con su repositorio dependiente de svn, es posible mantenerlo sincronizado con los cambios que ha realizado en el proyecto git principal utilizando git-filter-branchy, por lo tanto, no es necesario comprometerse con cada repositorio individualmente.
Como un aparte: por experiencia, mantener un proyecto git y svn sincronizado es generalmente bastante problemático a menos que uno u otro sea de solo lectura.