| Summary: | Проблема с прикладыванием нескольких патчей из одного письма | ||
|---|---|---|---|
| Product: | [Свободные проекты (Open source projects)] WINE-tests | Reporter: | Александр Морозов <amorozov> |
| Component: | Общее | Assignee: | Александр Морозов <amorozov> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | critical | ||
| Priority: | P4 | CC: | baraka, lav, vitperov |
| Version: | не указана | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | All | ||
| Whiteboard: | |||
| Заявки RT: | Связано с: | ||
| Дата напоминания: | |||
| Bug Depends on: | |||
| Bug Blocks: | 6264 | ||
Переменная была неправильно названа. Её до этого переименовывали, но кое-где переименовать забыли. Из-за этого скрипт падал. Работает. |
Неправильно обрабатываются письма, содержащие несколько патчей. Если конкретнее, возникла проблема с письмом "[eterhack] eterbug #7119". Робот прикладывает не первый патч, а пятый, в результате чего сборка оканчивается неудачно и патчи отвергаются. Когда-то раньше работало. Попробовал проблему исправить. В mail_patches.py в функции process_patch_msg есть такой участок: # return first patch or add next patches to the __patches_buf if len(self.__patches_buf) < 1: ret_patch = patch else: self.__patches_buf.append(patch) Насколько я понял, в ветку else мы никогда не попадаем, потому что патч в __patches_buf помещается только в ней. В результате в ret_patch оказывается последний патч. Сделал такой фикс: - if len(self.__patches_buf) < 1: + if not ret_patch: В результате первый патч приложился, а остальные нет. И самое плохое, что почему-то после этого перестало удаляться письмо из ящика, и робот стал постоянно его оттуда доставать, пытаться приложить первый патч и посылать уведомление о неудаче. Поэтому в репозитории робота этот фикс откатил.