commit:     f0a93aa3bd64e86854e26a3826410ed1b3ed61b1
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Sun Feb  7 18:46:27 2016 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Thu Apr 21 16:49:27 2016 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=f0a93aa3

repoman:  Move clear_attic() code to the modules

 pym/repoman/actions.py                 | 24 +-----------------------
 pym/repoman/modules/vcs/changes.py     |  4 ++++
 pym/repoman/modules/vcs/cvs/changes.py | 21 +++++++++++++++++++++
 3 files changed, 26 insertions(+), 23 deletions(-)

diff --git a/pym/repoman/actions.py b/pym/repoman/actions.py
index f477aec..8ff658c 100644
--- a/pym/repoman/actions.py
+++ b/pym/repoman/actions.py
@@ -153,7 +153,7 @@ class Actions(object):
                # inside the $Header path. This code detects the problem and 
corrects it
                # so that the Manifest will generate correctly. See bug #169500.
                # Use binary mode in order to avoid potential character 
encoding issues.
-               self.clear_attic(myheaders)
+               self.vcs_settings.changes.clear_attic(myheaders)
 
                if self.scanner.repolevel == 1:
                        utilities.repoman_sez(
@@ -582,28 +582,6 @@ class Actions(object):
                                pass
 
 
-
-
-       def clear_attic(self, myheaders):
-               cvs_header_re = re.compile(br'^#\s*\$Header.*\$$')
-               attic_str = b'/Attic/'
-               attic_replace = b'/'
-               for x in myheaders:
-                       f = open(
-                               _unicode_encode(x, encoding=_encodings['fs'], 
errors='strict'),
-                               mode='rb')
-                       mylines = f.readlines()
-                       f.close()
-                       modified = False
-                       for i, line in enumerate(mylines):
-                               if cvs_header_re.match(line) is not None and \
-                                       attic_str in line:
-                                       mylines[i] = line.replace(attic_str, 
attic_replace)
-                                       modified = True
-                       if modified:
-                               portage.util.write_atomic(x, b''.join(mylines), 
mode='wb')
-
-
        def sign_manifest(self, myupdates, myremoved, mymanifests):
                try:
                        for x in sorted(vcs_files_to_cps(

diff --git a/pym/repoman/modules/vcs/changes.py 
b/pym/repoman/modules/vcs/changes.py
index 77d7dc1..1745a65 100644
--- a/pym/repoman/modules/vcs/changes.py
+++ b/pym/repoman/modules/vcs/changes.py
@@ -74,3 +74,7 @@ class ChangesBase(object):
                '''Create a thick manifest'''
                pass
 
+       @staticmethod
+       def clear_attic(myheaders):
+               '''Old CVS leftover'''
+               pass

diff --git a/pym/repoman/modules/vcs/cvs/changes.py 
b/pym/repoman/modules/vcs/cvs/changes.py
index 6accd4a..061486f 100644
--- a/pym/repoman/modules/vcs/cvs/changes.py
+++ b/pym/repoman/modules/vcs/cvs/changes.py
@@ -41,6 +41,27 @@ class Changes(ChangesBase):
                        return self._unadded
                self._unadded = portage.cvstree.findunadded(self._tree, 
recursive=1, basedir="./")
                return self._unadded
+
+       @staticmethod
+       def clear_attic(myheaders):
+               cvs_header_re = re.compile(br'^#\s*\$Header.*\$$')
+               attic_str = b'/Attic/'
+               attic_replace = b'/'
+               for x in myheaders:
+                       f = open(
+                               _unicode_encode(x, encoding=_encodings['fs'], 
errors='strict'),
+                               mode='rb')
+                       mylines = f.readlines()
+                       f.close()
+                       modified = False
+                       for i, line in enumerate(mylines):
+                               if cvs_header_re.match(line) is not None and \
+                                       attic_str in line:
+                                       mylines[i] = line.replace(attic_str, 
attic_replace)
+                                       modified = True
+                       if modified:
+                               portage.util.write_atomic(x, b''.join(mylines), 
mode='wb')
+
        def thick_manifest(self, myupdates, myheaders, no_expansion, expansion):
                headerstring = "'\$(Header|Id).*\$'"
 

Reply via email to