SVN pré-cometer codificação gancho
-
27-10-2019 - |
Pergunta
Eu estou usando Python script para implementar SVN pre-commit gancho :
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)
Meu pré-commit.bat (servidor está hospedado em Windows Server 2008):
@python.exe path-to-py-file %1 %2
Em um uso do lado do cliente I TortoiseSVN .
Tudo vai bem, exceto cometer mensagem codificação . Se a mensagem de confirmação contém, por exemplo, letras russas que são mostrados como '?' (pontos de interrogação) na janela tartaruga.
Solução
Eu diria que este é mais culpa do .bat
depois do script python, porque python tem um excelente suporte unicode.
Talvez a resposta desta pergunta pode ajudá-lo.
Outras dicas
O problema poderia ser em si Tortoise. Tente o seguinte
SVN log http: // rev_url
e ver o que svn diz o comentário log é. Se ele recebe-lo direito, então o seu provavelmente Tortoise não mostrando a codificação russo. O que acontece se você cometer sem o seu gancho pre-commit? Será que mostram corretamente?