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.

Foi útil?

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.

arquivo de lote de codificação

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?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top