X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/02ac3ad2d474c60c1cdcb6b45451c1077b735ca0..bad9dcfc19eb88f866ebf97692fbde5d7827f76e:/stgit/stack.py diff --git a/stgit/stack.py b/stgit/stack.py index 89a2413..6c5fcb5 100644 --- a/stgit/stack.py +++ b/stgit/stack.py @@ -410,6 +410,42 @@ class Series: os.makedirs(os.path.join(self.__series_dir, 'patches')) self.__begin_stack_check() + def convert(self): + """Either convert to use a separate patch directory, or + unconvert to place the patches in the same directory with + series control files + """ + if self.__patch_dir == self.__series_dir: + print 'Converting old-style to new-style...', + sys.stdout.flush() + + self.__patch_dir = os.path.join(self.__series_dir, 'patches') + os.makedirs(self.__patch_dir) + + for p in self.get_applied() + self.get_unapplied(): + src = os.path.join(self.__series_dir, p) + dest = os.path.join(self.__patch_dir, p) + os.rename(src, dest) + + print 'done' + + else: + print 'Converting new-style to old-style...', + sys.stdout.flush() + + for p in self.get_applied() + self.get_unapplied(): + src = os.path.join(self.__patch_dir, p) + dest = os.path.join(self.__series_dir, p) + os.rename(src, dest) + + if not os.listdir(self.__patch_dir): + os.rmdir(self.__patch_dir) + print 'done' + else: + print 'Patch directory %s is not empty.' % self.__name + + self.__patch_dir = self.__series_dir + def rename(self, to_name): """Renames a series """