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.

¿Fue útil?

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.

codificación de archivos por lotes

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?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top