[kernel] r5194 - people/waldi/linux-2.6/debian/bin

Bastian Blank waldi at costa.debian.org
Tue Jan 3 14:45:51 UTC 2006


Author: waldi
Date: Tue Jan  3 14:45:49 2006
New Revision: 5194

Modified:
   people/waldi/linux-2.6/debian/bin/apply.py
Log:
debian/bin/apply.py: Move complete reverse login into series class.


Modified: people/waldi/linux-2.6/debian/bin/apply.py
==============================================================================
--- people/waldi/linux-2.6/debian/bin/apply.py	(original)
+++ people/waldi/linux-2.6/debian/bin/apply.py	Tue Jan  3 14:45:49 2006
@@ -9,8 +9,9 @@
 _default_source = "@source@"
 
 class series(list):
-    def __init__(self, name, home):
+    def __init__(self, name, home, reverse = False):
         self.name = name
+        self.reverse = reverse
 
         filename = os.path.join(home, 'series', name)
         if not os.path.exists(filename):
@@ -57,38 +58,39 @@
         return '<%s object for %s>' % (self.__class__.__name__, self.name)
 
     def apply(self):
-        for operation, patch, patchinfo in self:
-            if operation == '.':
-                print """\
+        if self.reverse:
+            for operation, patch, patchinfo in self[::-1]:
+                if operation == '.':
+                    print """\
   (.) IGNORED   %s\
 """ % patch
-            elif operation == '+':
-                self.patch_apply(patch, patchinfo)
-            elif operation == '-':
-                self.patch_deapply(patch, patchinf)
-            elif operation == 'X':
-                os.rename(patchinfo[0], patchinfo[1])
-                print """\
-  (X) REMOVED   %s\
+                elif operation == '+':
+                    self.patch_deapply(patch, patchinfo)
+                elif operation == '-':
+                    self.patch_apply(patch, patchinfo)
+                elif operation == 'X':
+                    os.rename(patchinfo[1], patchinfo[0])
+                    print """\
+  (X) RESTORED  %s\
 """ % patch
-        print "--> %s fully applied." % self.name
+            print "--> %s fully unapplied." % self.name
 
-    def deapply(self):
-        for operation, patch, patchinfo in self[::-1]:
-            if operation == '.':
-                print """\
+        else:
+            for operation, patch, patchinfo in self:
+                if operation == '.':
+                    print """\
   (.) IGNORED   %s\
 """ % patch
-            elif operation == '+':
-                self.patch_deapply(patch, patchinfo)
-            elif operation == '-':
-                self.patch_apply(patch, patchinfo)
-            elif operation == 'X':
-                os.rename(patchinfo[1], patchinfo[0])
-                print """\
-  (X) RESTORED  %s\
+                elif operation == '+':
+                    self.patch_apply(patch, patchinfo)
+                elif operation == '-':
+                    self.patch_deapply(patch, patchinf)
+                elif operation == 'X':
+                    os.rename(patchinfo[0], patchinfo[1])
+                    print """\
+  (X) REMOVED   %s\
 """ % patch
-        print "--> %s fully unapplied." % self.name
+            print "--> %s fully applied." % self.name
 
     def patch_apply(self, patch, patchinfo):
         ret = self.patch_call(patchinfo, '--fuzz=1')
@@ -128,7 +130,7 @@
             raise SystemExit, 1
 
     @staticmethod
-    def read_all(s, home):
+    def read_all(s, home, reverse = False):
         ret = []
 
         for name in s:
@@ -136,7 +138,7 @@
             if not os.path.exists(filename):
                 warn("Can't find series file for %s" % name)
             else:
-                i = series(name, home)
+                i = series(name, home, reverse)
                 ret.append(i)
 
         return ret
@@ -253,10 +255,10 @@
         vfile.commit()
     elif current_index > target_index:
         consider = revisions[current_index:target_index:-1]
-        s = series.read_all(consider, home)
+        s = series.read_all(consider, home, reverse = True)
         vfile.begin()
         for i in s:
-            i.deapply()
+            i.apply()
         vfile.version = target
         vfile.commit()
 



More information about the Kernel-svn-changes mailing list