<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>173284</bug_id>
          
          <creation_ts>2007-04-03 20:36 0000</creation_ts>
          <short_desc>etc-update should ignore &quot;.svn&quot; and &quot;.cvs&quot; directories (and maybe others)</short_desc>
          <delta_ts>2008-11-27 20:04:30 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Portage Development</product>
          <component>Tools</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <keywords>InSVN</keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>210077</blocked>
    
    <blocked>216231</blocked>
          
          <everconfirmed>1</everconfirmed>
          <reporter>tps@vr-web.de</reporter>
          <assigned_to>dev-portage@gentoo.org</assigned_to>
          <cc>remy.blank@pobox.com</cc>

      

      
          <long_desc isprivate="0">
            <who>tps@vr-web.de</who>
            <bug_when>2007-04-03 20:36:22 0000</bug_when>
            <thetext>etc-update searches &quot;.svn&quot; and &quot;.cvs&quot; directories, but since these hold things not intended for updates etc-update should ignore them. Maybe there are others to be ignored for other revision control systems or deployment platforms.

CONFIG_PROTECT is not adequate to keep etc-update out of &quot;.svn&quot; or &quot;.cvs&quot;.

In my opinion it would be best to have an additional environment variable giving a list of directories files to be ignored. Ideally one which allows to set patterns.

It may be enough to set

  find_opts=&quot;-iname ._cfg????_*&quot;

to

  find_opts=&quot;\( -iname .svn -prune \) -o -iname ._cfg????_*&quot;

to make it happen. But it would be more usefull to have it configurable. With a default of ignoring &quot;.svn&quot; and &quot;.cvs&quot;.


Reproducible: Always

Steps to Reproduce:
1. make /etc a svn or cvs checkout
2.
3.
Actual Results:  
&quot;.svn&quot; or &quot;.cvs&quot; is searched for &quot;._cfg????_*&quot; files, but these directories may not be searched at all, since they are used by svn or cvs.

Expected Results:  
&quot;.svn&quot; or &quot;.cvs&quot; directories being ignored.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>robbat2@gentoo.org</who>
            <bug_when>2007-04-03 22:21:52 0000</bug_when>
            <thetext>Not an infra bug. etc-update is part of portage.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2007-04-03 22:47:24 0000</bug_when>
            <thetext>wtf is a &quot;.cvs&quot; directory ?  cvs uses &quot;CVS&quot;

wonder if we can just be like any other tool ... ignore directories that start with a .

i dont think anything installs a . dir on purpose ...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>remy.blank@pobox.com</who>
            <bug_when>2007-05-05 08:16:30 0000</bug_when>
            <thetext>This might be related to #164529. But I still don&apos;t get what the problem really is (other than cosmetic and possibly in execution time).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tps@vr-web.de</who>
            <bug_when>2007-05-05 20:04:24 0000</bug_when>
            <thetext>Assume people using svn, cvs, or others to configure systems. Some centralized system management software does the same. etc-update should ignore repository files.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>remy.blank@pobox.com</who>
            <bug_when>2007-05-06 10:53:53 0000</bug_when>
            <thetext>Well, yes, I&apos;m also using Subversion for /etc, but I don&apos;t have any problem with etc-update. Could you describe precisely the behavior that&apos;s bothering you?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>webmaster@korten-privat.de</who>
            <bug_when>2008-03-08 16:25:17 0000</bug_when>
            <thetext>I am having the same problem.
I just had the case that etc-update updated a file in a .svn directory (/etc/php/apache2-php5/.svn/text-base/php.ini.svn-base) this messed up my whole subversion history because now subversion was missing a file (the one with the number in front that etc-update normally uses as temporary files),
I had to completely wipe all .svn directories below /etc/, delete the old subversion repository and create a new one.

the problem probably occurs when subversion starts to track local changes in one of the temporary files.

I also agree that we need an option in etc-update.conf.
e.g.:

# versioning system users
# ignore versioning system diectories e.g. .svn for subversion
ignore_dirs=&quot;.svn&quot;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2008-11-15 06:07:31 0000</bug_when>
            <thetext>Created an attachment (id=171777)
make etc-update and dispatch-conf ignore hidden directories

Both etc-update and dispatch-conf ignore hidden directories, in svn r11927:11929.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2008-11-22 05:50:49 0000</bug_when>
            <thetext>This is fixed in 2.2_rc15.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171777</attachid>
            <date>2008-11-15 06:07 0000</date>
            <desc>make etc-update and dispatch-conf ignore hidden directories</desc>
            <filename>ignore_hidden_dirs.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGJpbi9kaXNwYXRjaC1jb25mCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGJpbi9kaXNwYXRjaC1jb25m
CShyZXZpc2lvbiAxMTkyNykKKysrIGJpbi9kaXNwYXRjaC1jb25mCShyZXZpc2lvbiAxMTkyOSkK
QEAgLTI4LDcgKzI4LDcgQEAKIGZyb20gcG9ydGFnZSBpbXBvcnQgZGlzcGF0Y2hfY29uZgogZnJv
bSBwb3J0YWdlLnByb2Nlc3MgaW1wb3J0IGZpbmRfYmluYXJ5CiAKLUZJTkRfRVhUQU5UX0NPTkZJ
R1MgID0gImZpbmQgJyVzJyAlcyAtaW5hbWUgJy5fY2ZnPz8/P18lcycgISAtaW5hbWUgJy4qficg
ISAtaW5hbWUgJy4qLmJhayciCitGSU5EX0VYVEFOVF9DT05GSUdTICA9ICJmaW5kICclcycgJXMg
LW5hbWUgJy5fY2ZnPz8/P18lcycgISAtbmFtZSAnLip+JyAhIC1pbmFtZSAnLiouYmFrJyAtcHJp
bnQiCiBESUZGX0NPTlRFTlRTICAgICAgICA9ICJkaWZmIC1OdSAnJXMnICclcyciCiBESUZGX0NW
U19JTlRFUlAgICAgICA9ICJkaWZmIC1OdSAnJXMnICclcycgfCBncmVwICdeWystXVteKy1dJyB8
IGdyZXAgLXYgJyMgLkhlYWRlcjouKiciCiBESUZGX1dTQ09NTUVOVFMgICAgICA9ICJkaWZmIC1O
dSAnJXMnICclcycgfCBncmVwICdeWystXVteKy1dJyB8IGdyZXAgLXYgJ15bLStdIycgfCBncmVw
IC12ICdeWy0rXVs6c3BhY2U6XSokJyIKQEAgLTkzLDExICs5MywxMiBAQAogICAgICAgICAgICAg
ZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGJh
c2VuYW1lID0gIioiCi0gICAgICAgICAgICBmaW5kX29wdHMgPSAiIgorICAgICAgICAgICAgZmlu
ZF9vcHRzID0gIi1uYW1lICcuKicgLXR5cGUgZCAtcHJ1bmUgLW8iCiAgICAgICAgICAgICBpZiBu
b3Qgc3RhdC5TX0lTRElSKG15bW9kZSk6CiAgICAgICAgICAgICAgICAgcGF0aCwgYmFzZW5hbWUg
PSBvcy5wYXRoLnNwbGl0KHBhdGgpCiAgICAgICAgICAgICAgICAgZmluZF9vcHRzID0gIi1tYXhk
ZXB0aCAxIgogCisgICAgICAgICAgICBwcmludCBGSU5EX0VYVEFOVF9DT05GSUdTICUgKHBhdGgs
IGZpbmRfb3B0cywgYmFzZW5hbWUpCiAgICAgICAgICAgICBjb25mcyArPSBzZWxmLm1hc3NhZ2Uo
b3MucG9wZW4oRklORF9FWFRBTlRfQ09ORklHUyAlIChwYXRoLCBmaW5kX29wdHMsIGJhc2VuYW1l
KSkucmVhZGxpbmVzKCkpCiAKICAgICAgICAgaWYgc2VsZi5vcHRpb25zWyd1c2UtcmNzJ10gPT0g
J3llcyc6CkluZGV4OiBiaW4vZXRjLXVwZGF0ZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBiaW4vZXRjLXVwZGF0
ZQkocmV2aXNpb24gMTE5MjcpCisrKyBiaW4vZXRjLXVwZGF0ZQkocmV2aXNpb24gMTE5MjkpCkBA
IC01MCwxNyArNTAsMTkgQEAKIAogCWZvciBwYXRoIGluICR7Q09ORklHX1BST1RFQ1R9IDsgZG8K
IAkJcGF0aD0iJHtST09UfSR7cGF0aH0iCi0JCWZpbmRfb3B0cz0iLWluYW1lIC5fY2ZnPz8/P18q
IgorCQkjIERvIG5vdCB0cmF2ZXJzZSBoaWRkZW4gZGlyZWN0b3JpZXMgc3VjaCBhcyAuc3ZuIG9y
IC5naXQuCisJCWZpbmRfb3B0cz0iLW5hbWUgLiogLXR5cGUgZCAtcHJ1bmUgLW8gLW5hbWUgLl9j
Zmc/Pz8/XyoiCiAJCWlmIFsgISAtZCAiJHtwYXRofSIgXTsgdGhlbgogCQkJWyAhIC1mICIke3Bh
dGh9IiBdICYmIGNvbnRpbnVlCiAJCQlteV9iYXNlbmFtZT0iJHtwYXRoIyMqL30iCiAJCQlwYXRo
PSIke3BhdGglLyp9IgotCQkJZmluZF9vcHRzPSItbWF4ZGVwdGggMSAtaW5hbWUgLl9jZmc/Pz8/
XyR7bXlfYmFzZW5hbWV9IgorCQkJZmluZF9vcHRzPSItbWF4ZGVwdGggMSAtbmFtZSAuX2NmZz8/
Pz9fJHtteV9iYXNlbmFtZX0iCiAJCWZpCiAKIAkJb2ZpbGU9IiIKIAkJIyBUaGUgYmVsb3cgc2V0
IC1mIHR1cm5zIG9mZiBmaWxlIG5hbWUgZ2xvYmJpbmcgaW4gdGhlICR7ZmluZF9vcHRzfSBleHBh
bnNpb24uCi0JCWZvciBmaWxlIGluICQoc2V0IC1mOyBmaW5kICR7cGF0aH0vICR7ZmluZF9vcHRz
fSAhIC1pbmFtZSAnLip+JyAhIC1pbmFtZSAnLiouYmFrJyB8CisJCWZvciBmaWxlIGluICQoc2V0
IC1mIDsgZmluZCAke3BhdGh9LyAke2ZpbmRfb3B0c30gXAorCQkgICAgICAgISAtbmFtZSAnLip+
JyAhIC1pbmFtZSAnLiouYmFrJyAtcHJpbnQgfAogCQkJICAgc2VkIC1lICJzOlwoXi4qL1wpXChc
Ll9jZmdbMC05XSpfXClcKC4qJFwpOlwxXDJcM1wlXDJcJVwzOiIgfAogCQkJICAgc29ydCAtdCcl
JyAtazMgLWsyIHwgTEFORz1QT1NJWCBMQ19BTEw9UE9TSVggY3V0IC1mMSAtZCclJyk7IGRvCiAK
</data>        

          </attachment>
    </bug>

</bugzilla>