Frage

Ich bin mit Python Skript zu implementieren SVN pre-commit :

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)

Sie Pre-commit.bat (Server auf Windows Server 2008 gehostet wird):

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

Auf einer Client-Seite I Verwendung TortoiseSVN .

Alles in Ordnung geht, mit Ausnahme Commit-Nachricht Codierung . Wenn die Commit-Nachricht enthält, beispielsweise werden russische Buchstaben sie wie dargestellt ‚?‘ (Fragezeichen) in Schildkröten-Fenster.

War es hilfreich?

Lösung

Ich würde sagen, das ist mehr die Schuld der .bat dann des Python-Skript, weil Python ausgezeichnete Unicode-Unterstützung hat.
Vielleicht ist die Antwort auf diese Frage kann Ihnen helfen.

Stapel-Encodierung

Andere Tipps

Das Problem könnte Schildkröte selbst sein. Versuchen Sie, die folgende

svn log http: // rev_url

und sehen, was svn sagt der Protokoll Kommentar. Wenn es es richtig macht, dann ist es wahrscheinlich Schildkröte nicht die russische Codierung zeigt. Was passiert, wenn Sie sich verpflichten, ohne Haken pre-commit? Ist diese Show richtig?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top