Вопрос

Я использую Питон сценарий для реализации Перехват предварительной фиксации SVN:

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)

Мой предварительная фиксация.bat (сервер размещен на Windows Server 2008):

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

На стороне клиента я использую TortoiseSVN.

Все идет нормально, за исключением сообщения о фиксации кодирование.Если сообщение о фиксации содержит, например, русские буквы, они отображаются как "?" (вопросительные знаки) в окне Tortoise.

Это было полезно?

Решение

Я бы сказал, что в этом больше виноваты сами .bat затем о скрипте python, потому что python имеет отличную поддержку unicode.
Возможно, ответ на этот вопрос сможет вам помочь.

Кодировка пакетного файла

Другие советы

Проблема может заключаться в самой Черепахе.Попробуйте следующее

журнал svn http://rev_url

и посмотрите, что svn говорит о комментарии к журналу.Если он все сделает правильно, то, вероятно, Tortoise не показывает русскую кодировку.Что произойдет, если вы совершите коммит без вашего хука предварительной фиксации?Правильно ли это показано?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top