SVN gancho pre-commit codificación
-
27-10-2019 - |
Pregunta
Estoy usando Python script para implementar SVN gancho pre-commit
svnlookPath = 'path-to-svnlook'
f = subprocess.Popen([svnlookPath, 'log', sys.argv[1], '--transaction', sys.argv[2]], stdout=subprocess.PIPE).stdout
commitMessage = f.read()
f.close()
commitMessage = commitMessage.rstrip('\n\r')
print >> sys.stderr, 'Commit message: "' + commitMessage + '"'
sys.exit(1)
Mi pre-commit.bat (servidor está alojado en Windows Server 2008):
@python.exe path-to-py-file %1 %2
En un uso del cliente I TortoiseSVN .
Todo va bien, excepto el mensaje del informe codificación . Si el envío de mensajes contiene, por ejemplo, las letras rusas, se muestran como '?' (signo de interrogación) en la ventana de la tortuga.
Solución
Yo diría que esto es más culpa de la .bat
continuación de la secuencia de comandos Python, porque Python tiene un excelente soporte Unicode.
Tal vez la respuesta de esta pregunta puede ayudar.
Otros consejos
El problema podría ser la tortuga de sí mismo. Pruebe lo siguiente
svn log http: // rev_url
y ver lo que dice el comentario svn log es. Si lo hace bien, entonces es probable que la tortuga no se muestra la codificación de Rusia. ¿Qué ocurre si se compromete sin su gancho pre-confirmación? Hace que muestran correctamente?