<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>31851</bug_id>
          
          <creation_ts>2016-03-02 11:53:15 +0300</creation_ts>
          <short_desc>add exclude to diff options</short_desc>
          <delta_ts>2021-03-15 15:28:23 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>gear</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Farygin">rider</reporter>
          <assigned_to name="Ivan Zakharyaschev">imz</assigned_to>
          <cc>boyarsh</cc>
    
    <cc>cas</cc>
    
    <cc>glebfm</cc>
    
    <cc>grenka</cc>
    
    <cc>grenka</cc>
    
    <cc>imz</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>nbr</cc>
    
    <cc>placeholder</cc>
    
    <cc>rider</cc>
    
    <cc>slev</cc>
    
    <cc>vseleznv</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>155490</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2016-03-02 11:53:15 +0300</bug_when>
    <thetext>Было бы неплохо добавить к diff в gear-rules возможность указывать exclude каталогам.

Мне это нужно для того, что бы в патч не попадал каталог .gear
например:
diff: v@version@:. . exclude=.gear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172796</commentid>
    <comment_count>1</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2018-07-20 08:08:28 +0300</bug_when>
    <thetext>Сейчас готовлю релиз с этой возможностью, чтобы предложить (одобрить).

Можно посмотреть сейчас в git.altlinux.org/people/imz/packages/gear.git (ветка alt). Пусть только коммиты с тестами не пугают. По сути они, конечно, работают и написаны для большинства случаев. Но остаётся привести в лучший вид. Мне не понравилось, что мы с grenka@ размножили файлы тестов, сейчас хочу дедуплицировать код тестов.

Будет полезно не только для diff, но правил типа tar. Пример:

diff: v@version@:. . -- . :!.gear

tar: v@version@:. -- . :!.gear

Используется синтаксис (с магией), понимаемый командами Git с некоторый пор: git cmd ... -- paths..

Из-за ошибки в Git приходится писать не как в примерах (с точкой), а со звёздочкой (только для правил типа tar, а не diff; т.е. ошибка есть в работе git archive, но не git diff):

tar: v@version@:. -- * :!.gear

Приветствуется ознакомление заинтересованных.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172798</commentid>
    <comment_count>2</comment_count>
    <who name="Grigory Ustinov">grenka</who>
    <bug_when>2018-07-20 10:04:15 +0300</bug_when>
    <thetext>(В ответ на комментарий №1)
&gt; Мне не
&gt; понравилось, что мы с grenka@ размножили файлы тестов, сейчас хочу
&gt; дедуплицировать код тестов.

Залей так. Когда разберёмся с кодом тестов, обновим релиз, в чём проблема?

&quot;Что сделано не вовремя, сделано понапрасну&quot; (с) Френсис Бэкон</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172799</commentid>
    <comment_count>3</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2018-07-20 10:12:49 +0300</bug_when>
    <thetext>(In reply to comment #2)
&gt; (В ответ на комментарий №1)
&gt; &gt; Мне не
&gt; &gt; понравилось, что мы с grenka@ размножили файлы тестов, сейчас хочу
&gt; &gt; дедуплицировать код тестов.
&gt; 
&gt; Залей так. Когда разберёмся с кодом тестов, обновим релиз, в чём проблема?

Просто этот пакет кто-то из acl будет смотреть и одобрять.

Я уже этим сообщением предложил посмотреть. И в тот момент, когда кто-то будет готов одобрить, можно будет отправить текущее состояние.

Пока что переписываю дополнительные тесты с помощью дополнительных функций в том  же файле (вызывающих основную), без копирования файла. Частично это сделано, можно увидеть в моих опубликованных коммитах.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172811</commentid>
    <comment_count>4</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2018-07-20 16:06:57 +0300</bug_when>
    <thetext>Можно будет попробовать в task 210568</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172812</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2018-07-20 16:19:34 +0300</bug_when>
    <thetext>(In reply to comment #1)
&gt; Сейчас готовлю релиз с этой возможностью, чтобы предложить (одобрить).
&gt; 
&gt; Можно посмотреть сейчас в git.altlinux.org/people/imz/packages/gear.git (ветка
&gt; alt).

Там специально commit messages в другом стиле выполнены?
Некоторые по ширине даже у меня на экране не помещаются.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172813</commentid>
    <comment_count>6</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2018-07-20 16:29:22 +0300</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #1)
&gt; &gt; Сейчас готовлю релиз с этой возможностью, чтобы предложить (одобрить).
&gt; &gt; 
&gt; &gt; Можно посмотреть сейчас в git.altlinux.org/people/imz/packages/gear.git (ветка
&gt; &gt; alt).
&gt; 
&gt; Там специально commit messages в другом стиле выполнены?
&gt; Некоторые по ширине даже у меня на экране не помещаются.

Нет, я не обращал внимание. Посмотрю.

Пользуясь случаем, хочу рассказать, что на i586 произошла ошибка в задании 210568:

gear-update: /usr/src/tmp/run.lcG0esBBa/.git/.work/initial-import.cpio.zst: unrecognized source type: 
[FAIL] (gear_update_subdir_sub_cpio_zst_cwd)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172814</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2018-07-20 16:44:59 +0300</bug_when>
    <thetext>(In reply to comment #6)
&gt; Пользуясь случаем, хочу рассказать, что на i586 произошла ошибка в задании
&gt; 210568:
&gt; 
&gt; gear-update: /usr/src/tmp/run.lcG0esBBa/.git/.work/initial-import.cpio.zst:
&gt; unrecognized source type: 
&gt; [FAIL] (gear_update_subdir_sub_cpio_zst_cwd)

http://git.altlinux.org/beehive/logs/Sisyphus-i586/archive/2018/0720/success/gear-2.2.0-alt1
http://git.altlinux.org/beehive/logs/Sisyphus-i586/archive/2018/0719/error/gear-2.2.0-alt1.zst
http://git.altlinux.org/beehive/logs/Sisyphus-i586/archive/2018/0717/success/gear-2.2.0-alt1.zst
...
http://git.altlinux.org/beehive/logs/Sisyphus-i586/archive/2018/0701/success/gear-2.2.0-alt1.zst</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172817</commentid>
    <comment_count>8</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2018-07-20 16:56:14 +0300</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #1)
&gt; &gt; Сейчас готовлю релиз с этой возможностью, чтобы предложить (одобрить).
&gt; &gt; 
&gt; &gt; Можно посмотреть сейчас в git.altlinux.org/people/imz/packages/gear.git (ветка
&gt; &gt; alt).
&gt; 
&gt; Там специально commit messages в другом стиле выполнены?
&gt; Некоторые по ширине даже у меня на экране не помещаются.

Переписал. Ещё дописываю обновление документации. Есть ли возражения против всего остального?

(Пока с этим копался, появилась мысль, что тесты можно было бы покороче записать, с меньшми повторениями, в т.ч. старые, но я не стремлюсь переписать их к ближайшему релизу.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172821</commentid>
    <comment_count>9</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2018-07-20 20:25:46 +0300</bug_when>
    <thetext>В коммите &quot;Amend all remaining gear-rules-archive-*.test with tests for magic paths&quot; очень странное выравнивание: добавляются строки, начинающиеся с 8 табов.

Ну и вообще читабельность тестов снизилась с &quot;нечитабельно&quot; до &quot;совсем нечитабельно&quot;. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172827</commentid>
    <comment_count>10</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2018-07-21 01:07:31 +0300</bug_when>
    <thetext>(In reply to comment #9)
&gt; В коммите &quot;Amend all remaining gear-rules-archive-*.test with tests for magic
&gt; paths&quot; очень странное выравнивание: добавляются строки, начинающиеся с 8 табов.

Поправил, и отправил на сборку. Это уже все изменения с моей стороны на данный момент, больше ничего добавлять перед предложеннымм релизом не планирую по своей задумке. Учту замечания.

&gt; Ну и вообще читабельность тестов снизилась с &quot;нечитабельно&quot; до &quot;совсем
&gt; нечитабельно&quot;. :)

Я это тоже вижу, но быстро без переосмысления и перестркутурирования не могу поменять сейчас.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174266</commentid>
    <comment_count>11</comment_count>
    <who name="Grigory Ustinov">grenka</who>
    <bug_when>2018-09-18 17:57:27 +0300</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174267</commentid>
    <comment_count>12</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2018-09-18 20:13:25 +0300</bug_when>
    <thetext>Изменения, не связанные с тестами, я посмотрел ещё в июле и они меня устраивают.
Изменения тестов я просто не в состоянии прочитать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174272</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2018-09-18 23:34:23 +0300</bug_when>
    <thetext>Я попробую их вычитать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174312</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2018-09-19 18:47:23 +0300</bug_when>
    <thetext>(В ответ на комментарий №12)
&gt; Изменения, не связанные с тестами, я посмотрел ещё в июле и они меня
&gt; устраивают.

Дим, я чего-то не заметил и gear стал не posix совместимым проектом ?
С каких пор мы начали массивы использовать ?

http://git.altlinux.org/people/imz/packages/gear.git?p=gear.git;a=commitdiff;h=d966f99507e46836b6c8be43daf93a9dd67764c7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174632</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2018-10-01 22:15:03 +0300</bug_when>
    <thetext>Я не против предложенных изменений. Я против реализации. Этот проект никогда не использовал башизмы. Я уверен, что эти изменения можно реализовать без их использования.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174633</commentid>
    <comment_count>16</comment_count>
    <who name="Grigory Ustinov">grenka</who>
    <bug_when>2018-10-01 23:14:05 +0300</bug_when>
    <thetext>(В ответ на комментарий №15)
&gt; Я не против предложенных изменений. Я против реализации. Этот проект никогда не
&gt; использовал башизмы. Я уверен, что эти изменения можно реализовать без их
&gt; использования.

Я, конечно, понимаю, что вы все такие духовно-продвинутые и лишний пробел в конце строки у вас вызывает эпилептический припадок, я даже готов понять, что 10 строк коммит-мессаджа должны описывать 3 строчки кода.

Объясните мне, почему башизмы это плохо? Почему это _НАСТОЛЬКО_ПЛОХО_, чтобы не пропускать довольно необходимое изменение в сборочницу? Ведь решение этой баги позволит не паковать блобы в српм, например, с помощью одной лишь строчки в rules, а не созданием лишней ветви в гите и постоянным мерджем при обновлениях.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174635</commentid>
    <comment_count>17</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2018-10-01 23:42:19 +0300</bug_when>
    <thetext>(In reply to comment #15)
&gt; Я не против предложенных изменений. Я против реализации. Этот проект никогда не
&gt; использовал башизмы. Я уверен, что эти изменения можно реализовать без их
&gt; использования.

Я более-менее спокойно отношусь к требованиям того или иного проекта по стилю или стандарту языка. Не вижу тут особой проблемы. Кстати, в отличие от girar (где мы во внутренней кухне допускаем башизмы) могу понять, что в gear это не очень желательно, потому что пользователи могут быть на разных системах.

Тут после прочтения коммента ещё пока не успел переписать.

Когда писал, то ли мне казалось, что уже есть используемые башизмы в gear, то ли хотел просто попонятнее, покороче и поточнее выразить задумку и получить отклик.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174637</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2018-10-02 02:03:29 +0300</bug_when>
    <thetext>(В ответ на комментарий №17)
&gt; Я более-менее спокойно отношусь к требованиям того или иного проекта по стилю
&gt; или стандарту языка. Не вижу тут особой проблемы. Кстати, в отличие от girar
&gt; (где мы во внутренней кухне допускаем башизмы) могу понять, что в gear это не
&gt; очень желательно, потому что пользователи могут быть на разных системах.

Спасибо за понимание.

&gt; Когда писал, то ли мне казалось, что уже есть используемые башизмы в gear, то
&gt; ли хотел просто попонятнее, покороче и поточнее выразить задумку и получить
&gt; отклик.

Если они и есть (сходу их не смог найти), то это явно бага. Если вы их видели,
то напишите.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174638</commentid>
    <comment_count>19</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2018-10-02 02:37:49 +0300</bug_when>
    <thetext>(В ответ на комментарий №16)
&gt; Я, конечно, понимаю, что вы все такие духовно-продвинутые и лишний пробел в
&gt; конце строки у вас вызывает эпилептический припадок, я даже готов понять, что
&gt; 10 строк коммит-мессаджа должны описывать 3 строчки кода.

Судя по вашему комментарию, вы этого не понимаете.

&gt; Объясните мне, почему башизмы это плохо?

Вы ограничиваете проект с posix-compatible, до bash-specific.

Башизмы хорошы там, где они приняты. В etcnet с ними никто не борется т.к. проект изначально был написан на bash. Нужно поминть, что bashism это определённый диалект шелла. Такой же как zshism. Ваше возмущение можно сравнить с возмущением, что кто-то отвергает zsh-speific код, а он такой локаничный и реализует что-то полезное.

Любой такой диалект уменьшает количесто возможных интерпретаторов шелла до одного. Башизмы можно использовать только в bash и даже не все и не во всех версиях баш.

&gt; Почему это _НАСТОЛЬКО_ПЛОХО_, чтобы не пропускать довольно необходимое
&gt; изменение в сборочницу?

Понятие &quot;довольно необходимые&quot; очень относительно. Любое изменение довольно необходимо. Повторю, я совершенно не против предложенного функционала, но я против того как это реализовано. Утрируя я могу сказать, что я также против довольно необходимых изменений c использованием python или ruby в этом проекте.

Это моя позиция. Она может отличаться от позиции Димы.

P.S. Это оффтопик для этой баги. Если вы хотите  это обсудить, то пишите мне лично или в рассылку.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174642</commentid>
    <comment_count>20</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2018-10-02 07:37:07 +0300</bug_when>
    <thetext>Да согласен с Лёшей - использование расширений bash в именно этом проекте недопустимо.

gear может работать без hasher и не на альте. Лучше эту фичу сохранить.

Правда, ему для полного счастья ещё требуется rpm от альта, но это уже немного другой разговор.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182555</commentid>
    <comment_count>21</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2019-06-19 01:42:26 +0300</bug_when>
    <thetext>*** Bug 35219 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187777</commentid>
    <comment_count>22</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-02-12 13:41:53 +0300</bug_when>
    <thetext>Если Ваня этим не занимается, то давайте попросим автора gear добавить эту фичу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187779</commentid>
    <comment_count>23</comment_count>
    <who name="Stanislav Levin">slev</who>
    <bug_when>2020-02-12 13:49:41 +0300</bug_when>
    <thetext>Очень интересная фича.
Можно узнать про ее статус?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187780</commentid>
    <comment_count>24</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2020-02-12 14:06:17 +0300</bug_when>
    <thetext>(In reply to Stanislav Levin from comment #23)
&gt; Очень интересная фича.
&gt; Можно узнать про ее статус?

У меня в целом всё готово было (аз я уже просил approve), только legion@ не хотел видеть там в коде один bashism, а также тестов стало больше и их задание, к сожалению, менее вразумительно стало выглядеть. (По-моему, замечание от ldv@ было.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195165</commentid>
    <comment_count>25</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-12-27 14:39:58 +0300</bug_when>
    <thetext>Apparently, diff exclude= option was implemented in

* Sat Dec 19 2020 Dmitry V. Levin &lt;ldv@altlinux&gt; 2.4.0-alt1
- Added &quot;exclude=&quot; option to &quot;diff&quot; directive
  (by Vladimir D. Seleznev, Alexey Gladkov, and me).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195170</commentid>
    <comment_count>26</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-12-27 19:42:58 +0300</bug_when>
    <thetext>Спасибо, а это будет работать для всех stable веток ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195171</commentid>
    <comment_count>27</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-12-27 19:53:46 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #26)
&gt; Спасибо, а это будет работать для всех stable веток ?

Тестирование на сборочнице пока проходит успешно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196966</commentid>
    <comment_count>28</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-03-15 12:30:22 +0300</bug_when>
    <thetext>Спасибо. Начал пользоваться и наткнулся на то, что у меня есть один случай, когда эта опция была бы полезна для директивы tar

Насколько сложно будет её добавить ? Стоит ли по этому поводу заводить отдельный FR ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196970</commentid>
    <comment_count>29</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2021-03-15 15:02:43 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #28)
&gt; Спасибо. Начал пользоваться и наткнулся на то, что у меня есть один случай,
&gt; когда эта опция была бы полезна для директивы tar
&gt; 
&gt; Насколько сложно будет её добавить ? Стоит ли по этому поводу заводить
&gt; отдельный FR ?

Концептуально exclude для архивов (tar, zip) ничему не противоречит,
сложность реализации аналогична exclude для dif, на самом деле даже проще, потому что можно использовать реализацию exclude для diff в качестве примера.

Для отслеживания лучше завести отдельный FR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196972</commentid>
    <comment_count>30</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2021-03-15 15:28:23 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #28)
&gt; Спасибо. Начал пользоваться и наткнулся на то, что у меня есть один случай,
&gt; когда эта опция была бы полезна для директивы tar
&gt; 
&gt; Насколько сложно будет её добавить ? Стоит ли по этому поводу заводить
&gt; отдельный FR ?

Не сложно. Лучше открой новый баг и повесь на меня.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>