SVN pre-commit hook codifica
-
27-10-2019 - |
Domanda
sto usando Python script per implementare SVN pre-commit hook :
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)
Il mio pre-commit.bat (server è ospitato su Windows Server 2008):
@python.exe path-to-py-file %1 %2
Su un utilizzo lato client I TortoiseSVN .
Tutto va bene, ad eccezione messaggio di commit encoding . Se il messaggio di commit contiene, ad esempio, lettere russe sono mostrati come '?' (punti di domanda) nella finestra di tartaruga.
Soluzione
Direi che questo è più colpa della .bat
poi dello script python, python, perché ha un eccellente supporto unicode.
Forse la risposta di questa domanda può aiutare.
Altri suggerimenti
Il problema potrebbe essere Tortoise stessa. Provate il seguente
e vedere cosa dice il commento svn log è. Se si ottiene di destra, allora probabilmente Tortoise non mostra la codifica russa. Che cosa succede se si impegnano senza il vostro pre-commit hook? Fa quello spettacolo correttamente?