tortoise repositorio password desvincular crear comparacion carpeta svn git git-svn collaboration

repositorio - Cómo configurar propiedades de Subversion con git-svn



tortoise svn server (5)

Comencé a trabajar en un parche para soportar git svn propset aquí: git svn propset support

¿Hay alguna forma de establecer las propiedades de subversión en un repositorio de git creado por git-svn?

En mi caso, quiero editar la versión de svn:external , svn:ignore y svn:executable .

Sin embargo, la única forma de hacerlo parece implicar un check-out con el cliente de subversión. ¿Hay alguna manera de editar las propiedades de svn sin tener que verificar el repositorio dos veces (una vez para git y una vez con svn para las propiedades)?


Es posible, simplemente clone su repositorio SVN con SmartGit . Se traduce svn: executable, svn: externals y svn: ignore to executable, .gitsvnextmodules y .gitignore. De modo que puede modificarlos y rechazarlos, lo que dará como resultado la modificación de las propiedades correspondientes.

Si tiene acceso a su servidor SVN, puede instalar SubGit en él. Traduce svn: executable y svn: ignore en el lado del servidor proporcionando una interfaz de Git a su repositorio SVN.


Nota: git 2.3.0 (febrero de 2015) admite proset con git svn .
Ver commit 83c9433 por Alfred Perlstein ( splbio ) :

git-svn : soporte para git-svn propset

Este cambio permite a git-svn admitir el establecimiento de propiedades de subversión.

Es útil para establecer manualmente las propiedades al comprometerse con un repositorio de subversión que requiere que las propiedades se establezcan sin necesidad de mover su conjunto de cambios a la extracción de subversión por separado para establecer accesorios.

Hay una pregunta importante: el código no admite la adición de accesorios a menos que también haya cambios de contenido en los archivos .
Esto se demuestra en el caso de prueba.

Entonces, como se ve en t/t9148-git-svn-propset.sh , ahora funciona:

git svn propset "$1" "$2" "$file" # like git svn propset "svn:keywords" "FreeBSD=%H" "foo"


También puede usar svnmucc , en caso de que no desee tener un check completo de svn solo para configurar accesorios (mi repositorio remoto es realmente grande).

Aquí está mi comando para agregar una línea a svn: ignorar, reemplazar URL, DIR y VALOR.

svnmucc -U URL propset svn:ignore "`git svn propget svn:ignore DIR; echo VALUE`" DIR


git-svn no es compatible con las propiedades de Subversion. Cuando me encuentro con este problema, generalmente termino teniendo dos cajas.

Esto se menciona en la documentación de git-svn en BUGS:

Ignoramos todas las propiedades de SVN excepto svn: executable. Todas las propiedades no $GIT_DIR/svn/<refname>/unhandled.log se registran en $GIT_DIR/svn/<refname>/unhandled.log