diff options
-rw-r--r-- | lib/git/repo.py | 35 | ||||
-rw-r--r-- | test/git/test_repo.py | 6 |
2 files changed, 20 insertions, 21 deletions
diff --git a/lib/git/repo.py b/lib/git/repo.py index 86057d8b..8cfc2cad 100644 --- a/lib/git/repo.py +++ b/lib/git/repo.py @@ -375,25 +375,22 @@ class Repo(object): kwargs['prefix'] = prefix self.git.archive(treeish, "| gzip", **kwargs) - def enable_daemon_serve(self): - """ - Enable git-daemon serving of this repository by writing the - git-daemon-export-ok file to its git directory - - Returns - None - """ - touch(os.path.join(self.path, DAEMON_EXPORT_FILE)) - - def disable_daemon_serve(self): - """ - Disable git-daemon serving of this repository by ensuring there is no - git-daemon-export-ok file in its git directory - - Returns - None - """ - return os.remove(os.path.join(self.path, DAEMON_EXPORT_FILE)) + def _get_daemon_export(self): + filename = os.path.join(self.path, self.DAEMON_EXPORT_FILE) + return os.path.exists(filename) + + def _set_daemon_export(self, value): + filename = os.path.join(self.path, self.DAEMON_EXPORT_FILE) + fileexists = os.path.exists(filename) + if value and not fileexists: + touch(filename) + elif not value and fileexists: + os.unlink(filename) + + daemon_export = property(_get_daemon_export, _set_daemon_export, + doc="git-daemon export of this repository") + del _get_daemon_export + del _set_daemon_export def _get_alternates(self): """ diff --git a/test/git/test_repo.py b/test/git/test_repo.py index 3c323878..036ae1e9 100644 --- a/test/git/test_repo.py +++ b/test/git/test_repo.py @@ -194,10 +194,12 @@ class TestRepo(object): @patch('git.utils', 'touch') def test_enable_daemon_serve(self, touch): - self.repo.enable_daemon_serve + self.repo.daemon_serve = False + assert_false(self.repo.daemon_serve) def test_disable_daemon_serve(self): - self.repo.disable_daemon_serve + self.repo.daemon_serve = True + assert_true(self.repo.daemon_serve) # @patch(os.path, 'exists') # @patch('__builtin__', 'open') |