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.

È stato utile?

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.

di file batch encoding

Altri suggerimenti

Il problema potrebbe essere Tortoise stessa. Provate il seguente

http: // rev_url

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?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top