Question

J'utilise Python script pour mettre en œuvre SVN pre-commit crochet :

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)

Mon pré-commit.bat (serveur est hébergé sur Windows Server 2008):

@python.exe path-to-py-file %1 %2

Sur une utilisation côté client I TortoiseSVN .

Tout se passe bien, sauf le message de validation encodage . Si le commettras message contient, par exemple, les lettres russes ils sont présentés comme '? (points d'interrogation) dans la fenêtre Tortue.

Était-ce utile?

La solution

Je dirais que cela est plus la faute du .bat puis du script python, parce que Python a un excellent support unicode.
Peut-être la réponse à cette question peut vous aider.

fichier batch encodage

Autres conseils

Le problème pourrait être la tortue lui-même. Effectuez les opérations suivantes

http: // rev_url

et voir ce que dit svn le commentaire du journal est. Si elle obtient le droit, alors il est probablement tortue ne montrant pas l'encodage russe. Que se passe si vous vous engagez sans votre pre-commit hook? Est-ce que montrent correctement?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top