Summary: | Wine-test: Скрипт не возвращает ошибку при неудачной попытке опубликовать репозиторий | ||
---|---|---|---|
Product: | [Свободные проекты (Open source projects)] WINE-tests | Reporter: | Виталий Перов <vitperov> |
Component: | Общее | Assignee: | Виталий Перов <vitperov> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | minor | ||
Priority: | P4 | CC: | amorozov, baraka, lav |
Version: | не указана | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 6264 |
Description
Виталий Перов
2010-11-08 17:49:27 MSK
Возникла проблема: как парсить результат, возвращаемый git.pull. Это не строка, а некая структура: Traceback (most recent call last): File "./apply_new_patches.py", line 92, in <module> result = patch.apply_with_tests() File "/srv/builder-robot/Projects/wine-tests/wine_repository.py", line 245, in apply_with_tests repo.publish() File "/srv/builder-robot/Projects/wine-tests/git_repository.py", line 57, in publish self.debug("Published correctly. Result=" + result) TypeError: cannot concatenate 'str' and 'IterableList' objec Выяснилась ещё одна проблема: Скрипт посылает письмо автору до публикации репозитория. функция push возвращает класс <git.remote.PushInfo object at 0x91cd9bc> Поля класса: ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '_id_attr', '_prefix', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] Пока не понятно где здесь искать результат пуша. Возможно это список, и обращаться к нему надо поэлементно. Нет, это не список, хотя аттрибуты append явно на это указывают. Решил напрямую использовать git push. Если прав нет, то возникает исключение. Сделал патч. Работает. Осталось сделать отправку письма после публикации. > Осталось сделать отправку письма после публикации.
Сделал
Ещё добавил откат патча при неудачной публикации.
Проверил на живой системе. Исправил ошибки. Работает. |