Svn commit pré-codage de crochet
-
27-10-2019 - |
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.
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.
Autres conseils
Le problème pourrait être la tortue lui-même. Effectuez les opérations suivantes
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?