Summary: | Откатывать патч из всех репозиториев, если он не приложился хотя бы в один из них | ||
---|---|---|---|
Product: | [Свободные проекты (Open source projects)] WINE-tests | Reporter: | Виталий Перов <vitperov> |
Component: | Общее | Assignee: | Виталий Перов <vitperov> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | minor | ||
Priority: | P4 | CC: | baraka, lav |
Version: | не указана | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | 6467 | ||
Bug Blocks: | 6264 |
Description
Виталий Перов
2010-10-22 16:30:42 MSD
Реализовал добавление и удаление временной ветки. Пока не понятно как её мержить (для сохранения результата) Проверил через gitk. Создаётся реальная ветка. После её удаления (через скрипт) ветка исчезает не оставляя никаких следов. Мержить можно непосредственно через комманду git. Проблема только в том, что надо знать название ветки в которую мержить. Разобрался. Имя ветки можно получать с помощью: this_name = self.head.reference.name master_name = self.master_branch.name Реализовал мерж временной ветки. Надо проверить работает ли это и как результат отражается на дереве git Локально протестировал при указании одного репозитория. Сделал патч. Можно тестировать на реальных патчах Встретил новую проблему: Если возникает исключение в момент тестирования, то временная ветка tmp не удаляется. При этом возникает исключение при попытке создать уже существующую ветку tmp. Пока вижу 2 возможных решения: 1)Принудительно удалять ветку tmp при создании 2)Корректно обрабатывать исключения при запуске тестов. Заодно можно будет посылать лог с бактрейсом автору письма. Для воспроизведения проблемы можно добавить заведомо неработающий код в функцию helper.py: run_with_log(). При первом запуске возникает исключение, связанное с неработающим кодом При втором запуске появится ошибка повторного создания ветки tmp Думаю сначала нужно решить багу 6467. При при возникновении падения ветка tmp сама должна удаляться. Нашёл ещё одну ошибку: Ветка tmp не удаляется даже, если исключения не было. Текущей веткой выбирается master, но удаления почему-то не происходит. (In reply to comment #8) > Нашёл ещё одну ошибку: > Ветка tmp не удаляется даже, если исключения не было. Текущей веткой > выбирается master, но удаления почему-то не происходит. > Исправлено Реализовано. Теперь патчи прикладываются к временной ветке tmp. Если возникли проблемы с одним из репозиториев, то все временные ветки уничтожаются. |