Еще одна Subversion "Фиксация не удалась" MERGE из "Blabla": 200 ОК - PullRequest
0 голосов
/ 23 февраля 2010

Я получаю печально известное «СЛОВО« что угодно »: 200 ОК» всякий раз, когда я пытаюсь зафиксировать с помощью ловушки после фиксации в Windows (при запуске хранилища и Trac локально), и я схожу с ума. Я искал весь день, не находя никаких решений.

Итак, вот как это настроено и что я пробовал до сих пор:

Настройки: Windows 7 (64-разрядная версия) VisualSVN Server TortoiseSVN Трак 0.11.6

  • Я использую три стандартных сценария для пост-фиксации в Windows.
  • Все работает, когда я запускаю post-commit.cmd из командной строки с repo и changesetnumber в качестве параметров.
  • После продолжительного устранения неполадок я обнаружил, что если я удаляю последнюю строку в trac-post-commit.cmd, Python "% ~ dp0 \ trac-post-commit-hook.py" -p "% TRAC_ENV% "-r"% REV% "-u"% AUTHOR% "-m"% LOG% ", ошибка неудачной фиксации исчезнет.
  • Добавление 1/0 (генерирование деления на ноль ошибок) в скрипте Python не показывает ничего другого. Однако из командной строки я получаю сообщение об ошибке.
  • Удаление всего кода в скрипте python также приводит к тому, что фиксация не удалась, поэтому я предполагаю, что виновник находится в trac-post-commit-hook.py.

Возможно, если бы я мог отправить фактическую ошибку в файл журнала, я мог бы копать немного глубже, но я не уверен, как.

после commit.cmd:

call %~dp0\trac-post-commit-hook.cmd %1 %2

trac-post-commit-hook.cmd:
http://trac.edgewall.org/browser/trunk/contrib/trac-post-commit-hook?rev=920

Большое вам спасибо, это очень много значило бы, если бы кто-то мог немного помочь здесь! / Martin

1 Ответ

0 голосов
/ 23 февраля 2010

Чтобы получить сообщение об ошибке во время фиксации SVN, вы должны иметь возможность изменить:

if __name__ == "__main__": 
    if len(sys.argv) < 5: 
        print "For usage: %s --help" % (sys.argv[0]) 
    else: 
        CommitHook() 

до:

if __name__ == "__main__": 
    if len(sys.argv) < 5: 
        print "For usage: %s --help" % (sys.argv[0]) 
    else: 
        try:
            CommitHook()
        except Exception, e:
            print >> sys.stderr, str(e)
            sys.exit(1)
...