SVN pre-commit кодирование хуков - PullRequest
4 голосов
/ 13 июня 2011

Я использую Python скрипт для реализации 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)

My pre-commit.bat (сервер размещен на Windows Server 2008):

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

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

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

Ответы [ 2 ]

2 голосов
/ 13 июня 2011

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

Пакетная кодировка файлов

0 голосов
/ 13 июня 2011

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

svn log http://rev_url

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

...