diff options
author | Yaakov M. Nemoy <loupgaroublond@gmail.com> | 2009-01-18 17:10:15 -0500 |
---|---|---|
committer | Yaakov M. Nemoy <loupgaroublond@gmail.com> | 2009-01-18 17:10:15 -0500 |
commit | c98a858abe7d209b602aaad6e01dbbf8e66bdf21 (patch) | |
tree | 61f56439a4a7980c6265438f1409be37c04740f4 /modules | |
parent | d479ded1669de67df94fe62c2c1c896a4694b874 (diff) | |
download | fedora-devshell-c98a858abe7d209b602aaad6e01dbbf8e66bdf21.tar.gz fedora-devshell-c98a858abe7d209b602aaad6e01dbbf8e66bdf21.tar.xz fedora-devshell-c98a858abe7d209b602aaad6e01dbbf8e66bdf21.zip |
Refactor some generic stuff out of darcs into packagesource
Diffstat (limited to 'modules')
-rw-r--r-- | modules/darcs.py | 23 | ||||
-rw-r--r-- | modules/packagesource.py | 28 |
2 files changed, 28 insertions, 23 deletions
diff --git a/modules/darcs.py b/modules/darcs.py index 5ac1c9f..7c6eda4 100644 --- a/modules/darcs.py +++ b/modules/darcs.py @@ -85,29 +85,6 @@ class Darcs(RevisionControl): ''' return self.cfg['hackage_name'] - @contextmanager - def src_dir(self, *args): - '''executes a code block inside a specific branch and or checkout - ''' - with src(*args): - with pwd(self.cfg['source']): - yield - - @contextmanager - def src(self, *args): - '''executes a code block with a particular branch or checkout - - if there are no args, this block is executed in the raw - ''' - if args: - old_src = self.cfg['source'] - self.set_cur_to(*args) - yield - if args: - rm(self.cfg['source']) - self.cfg['source'] = old_src - self.set_current_src() - def set_current_src(self): '''sets the current internal state to reflect the current head diff --git a/modules/packagesource.py b/modules/packagesource.py index d556ef5..b0b87b8 100644 --- a/modules/packagesource.py +++ b/modules/packagesource.py @@ -74,6 +74,34 @@ class PackageSource(Directory): ''' return join(self.dir, self.source) + @contextmanager + def src_dir(self, *args): + '''executes a code block inside a specific branch and or checkout + ''' + with src(*args): + with pwd(self.source_dir): + yield + + @contextmanager + def src(self, *args): + '''executes a code block with a particular branch or checkout + + if there are no args, this block is executed in the raw + ''' + if args: + old_src = self.cfg['source'] + self.set_cur_to(*args) + yield + if args: + self.cfg['source'] = old_src + self.set_current_src() + + def set_current_src(self): + raise NotImplementedError + + def set_cur_to(self, *args): + raise NotImplementedError + def branch(self, *args): raise NotImplementedError |