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

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

    <bug>
          <bug_id>17643</bug_id>
          
          <creation_ts>2008-10-21 18:47:13 +0400</creation_ts>
          <short_desc>[FR] compress: tree_path support</short_desc>
          <delta_ts>2010-12-28 00:04:32 +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>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>led</reporter>
          <assigned_to name="Dmitry V. Levin">ldv</assigned_to>
          <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>placeholder</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>79993</commentid>
    <comment_count>0</comment_count>
    <who name="">led</who>
    <bug_when>2008-10-21 18:47:13 +0400</bug_when>
    <thetext>Нельзя ли добавить tree_path в директиву compress (и, соответственно, в директивы gzip и bzip2), как это сделано в директиве tar (tar.gz, tar.bz2)?
А также опцию name в директивы gzip и bzip2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79995</commentid>
    <comment_count>1</comment_count>
    <who name="">led</who>
    <bug_when>2008-10-21 18:49:36 +0400</bug_when>
    <thetext>Например, для такого:
gzip: 3.3d2:readme.txt name=@name@-3.3d2-readme.txt
где &quot;3.3d2&quot; - tag в бранче upstream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80017</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2008-10-22 01:37:16 +0400</bug_when>
    <thetext>насчёт @name@ согласен. Но вот насчёт tree_path не уверен ...

Можно более жизненный пример?
У вас есть репозиторий, где вы хотите это применить?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80018</commentid>
    <comment_count>3</comment_count>
    <who name="">led</who>
    <bug_when>2008-10-22 01:52:08 +0400</bug_when>
    <thetext>(In reply to comment #2)
&gt; насчёт @name@ согласен. Но вот насчёт tree_path не уверен ...
&gt; 
&gt; Можно более жизненный пример?

Это и есть реальный жизненный пример

&gt; У вас есть репозиторий, где вы хотите это применить?

Есть. Вернее был, потому как поняв, что ничего не получится, просто тупо скопировал файлы из нужного бранча в master, переименовал и применил директиву gzip. Всё это вместо того, чтобы просто сослаться на нужный файл в нужном бранче.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80019</commentid>
    <comment_count>4</comment_count>
    <who name="">led</who>
    <bug_when>2008-10-22 01:53:58 +0400</bug_when>
    <thetext>(In reply to comment #2)
&gt; насчёт @name@ согласен. Но вот насчёт tree_path не уверен ...

Если это нетривиально/сложно - так и скажите - я ведь не настаиваю:) Но то, что это не нужно...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80023</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-10-22 04:32:10 +0400</bug_when>
    <thetext>(In reply to comment #0)
&gt; Нельзя ли добавить tree_path в директиву compress (и, соответственно, в директивы gzip
&gt; и bzip2), как это сделано в директиве tar (tar.gz, tar.bz2)?
&gt; А также опцию name в директивы gzip и bzip2.

В директиву compress можно добавить, она по своей сути расширяемая.
А в простые директивы gzip и bzip2 лучше не добавлять, поскольку
это самые первые директивы, у них нет параметров, и
есть риск нарушить обратную совместимость.

P.S. Раньше или позже всплывёт тема квотирования.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80024</commentid>
    <comment_count>6</comment_count>
    <who name="">led</who>
    <bug_when>2008-10-22 05:40:35 +0400</bug_when>
    <thetext>(In reply to comment #5)
&gt; В директиву compress можно добавить, она по своей сути расширяемая.

Вполне устроило бы.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80035</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2008-10-22 10:55:09 +0400</bug_when>
    <thetext>(In reply to comment #5)
&gt; В директиву compress можно добавить, она по своей сути расширяемая.

Если добавим в compress, то добавим и в copy, gzip и bzip2 ... иначе костыли придётся вставлять. Вообще, у нас есть некоторая несуразность:

zip: tree_path
gzip: glob_pattern...

У нас есть два семейства директив и аргументы у них обрабатываются по разному.

&gt; А в простые директивы gzip и bzip2 лучше не добавлять, поскольку
&gt; это самые первые директивы, у них нет параметров, и
&gt; есть риск нарушить обратную совместимость.

Я могу попробовать сделать так чтобы tree_path обрабатывался с учётом обратной совместимости.

Меня смущает то, что директивы, использующие tree_path, принимают только один аргумент типа tree_path. Если у compress заменить glob_pattern на tree_path, то будут возможны такие конструкции:

compress: TAG1:file1.txt TAG2:src/foobar.c

В этом и была моя неуверенность. Хотим ли мы такого ?

&gt; P.S. Раньше или позже всплывёт тема квотирования.

Можешь пояснить?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80055</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-10-22 13:57:56 +0400</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #5)
&gt; &gt; В директиву compress можно добавить, она по своей сути расширяемая.
&gt; 
&gt; Если добавим в compress, то добавим и в copy, gzip и bzip2 ... иначе костыли придётся
&gt; вставлять.

Там и без этого есть костыли:
name=&lt;NAME&gt;
    Specify destination file name in output directory.
    In this case glob_pattern should match only one file.

&gt; Вообще, у нас есть некоторая несуразность:
&gt; 
&gt; zip: tree_path
&gt; gzip: glob_pattern...
&gt; 
&gt; У нас есть два семейства директив и аргументы у них обрабатываются по
&gt; разному.

Да, так исторически сложилось.

&gt; &gt; А в простые директивы gzip и bzip2 лучше не добавлять, поскольку
&gt; &gt; это самые первые директивы, у них нет параметров, и
&gt; &gt; есть риск нарушить обратную совместимость.
&gt; 
&gt; Я могу попробовать сделать так чтобы tree_path обрабатывался с учётом обратной
&gt; совместимости.
&gt; 
&gt; Меня смущает то, что директивы, использующие tree_path, принимают только один
&gt; аргумент типа tree_path. Если у compress заменить glob_pattern на tree_path, то будут возможны
&gt; такие конструкции:
&gt; 
&gt; compress: TAG1:file1.txt TAG2:src/foobar.c
&gt; 
&gt; В этом и была моя неуверенность. Хотим ли мы такого ?

Нет, я бы не хотел такого.  Если tree_path, то только один.

&gt; &gt; P.S. Раньше или позже всплывёт тема квотирования.
&gt; 
&gt; Можешь пояснить?

пробелы в именах
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80063</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2008-10-22 14:30:38 +0400</bug_when>
    <thetext>(In reply to comment #8)
&gt; Там и без этого есть костыли:
&gt; name=&lt;NAME&gt;
&gt;     Specify destination file name in output directory.
&gt;     In this case glob_pattern should match only one file.

Как раз это не костыль :)
И это не приводит к дополнительному анализу type.


&gt; &gt; compress: TAG1:file1.txt TAG2:src/foobar.c
&gt; Нет, я бы не хотел такого.  Если tree_path, то только один.

Я мало представляю такой мозг в make_compress(). Нужно смотреть, похож аргумент на tree_path и если похож, пытаться его срезолвить ...
Что делать если в качестве glob_pattern указывает на файл, а по признакам похож на tree_path ? Как понять что хотел пользователь glob_pattern или tree_path ?

&gt; пробелы в именах

Да. Это наш скелет в шкафу. Нам нужно эту проблему решать ... вопрос поднимался и багу уже вешали.
</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>