2009-09-02 2 views
0

При выполнении фиксации с помощью trac-post-commit-hook я получаю сообщение об ошибке MERGE 200 OK, я понимаю, что это означает, что commit удался на сервере, но статус файла не обновился на моем локальном компьютере. Но я не могу все равно решить эту проблему. Это будет проблема с моей настройкой или чем-то в скрипте. Я использую стандартный скрипт с сайта trac, я передаю через tortoiseSVN сервер VisualSVN, который размещен на сервере Windows 2008. Когда я запускаю скрипт через командную строку, я не получаю ошибок, я получаю эту ошибку только через TortoiseSVN.Получение ошибки «MERGE» 200 OK при совершении с использованием trac-post-commit-hook

ответ

0

У меня были эти проблемы для крючков, которые не имели ничего общего с Trac. Из post-commit я вызвал какой-то другой скрипт, который изменил svnlook и cat в репозитории, и я получил ошибку MERGE 200 OK. Решение заключалось в том, чтобы вызвать другой скрипт в фоновом режиме, чтобы крюк выходил сразу после запуска скрипта.

0

Я получил эту ошибку, используя Trac & Subversion под Debian «Lenny».

Для меня это сводилось к ошибке в Trac. В trac.util.datefmt:

def to_timestamp(dt): 
"""Return the corresponding POSIX timestamp""" 
if dt: 
    diff = dt - _epoc 
    return diff.days * 86400 + diff.seconds 
else: 
    return 0 

Где dt - метка времени. Так преобразовать в DateTime первый:

def to_timestamp(dt): 
"""Return the corresponding POSIX timestamp""" 
if dt: 
    dtt = to_datetime(dt) 
    diff = dtt - _epoc 
    return diff.days * 86400 + diff.seconds 
else: 
    return 0 

Теперь мы должны решить проблему в сценарии ПРОФ-после совершения крючок, так как «HREF» и «» abs_href атрибуты trac.env.Environment являются ПОЛУЧИТЬ свойства (использующий только нет сеттера):

--- trac/trac-post-commit-hook (revision 8) 
+++ trac/trac-post-commit-hook (working copy) 
@@ -152,11 +152,7 @@ 
     self.author = chgset.author 
     self.rev = rev 
     self.msg = "(In [%s]) %s" % (rev, chgset.message) 
     self.now = int(time.time()) 
-  if url is None: 
-   url = self.env.config.get('trac', 'base_url') 
-  self.env.href = Href(url) 
-  self.env.abs_href = Href(url) 

Это все на Debian «Lenny», ПРОФЫ 0.11.1-2.1

+0

LOL ... и я отправил ответ на неправильный вопрос. Ах хорошо. – ManicDee