Bug 7632

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    

Description Александр Морозов 2011-09-09 15:02:31 MSK
Неправильно обрабатываются письма, содержащие несколько патчей. Если конкретнее, возникла проблема с письмом "[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:

В результате первый патч приложился, а остальные нет. И самое плохое, что почему-то после этого перестало удаляться письмо из ящика, и робот стал постоянно его оттуда доставать, пытаться приложить первый патч и посылать уведомление о неудаче. Поэтому в репозитории робота этот фикс откатил.
Comment 1 Александр Морозов 2011-09-09 16:49:06 MSK
Переменная была неправильно названа. Её до этого переименовывали, но кое-где переименовать забыли. Из-за этого скрипт падал.
Comment 2 Александр Морозов 2011-09-09 16:57:09 MSK
Работает.