diff options
author | Michael Trier <mtrier@gmail.com> | 2008-09-14 10:43:41 -0400 |
---|---|---|
committer | Michael Trier <mtrier@gmail.com> | 2008-09-14 10:43:41 -0400 |
commit | 5613079f2494808f048b81815bf708debf7339d2 (patch) | |
tree | bd1af57549b98d7c8b28cc1a867df75bfd542044 /lib/git/repo.py | |
parent | 3131d1a5295508f583ae22788a1065144bec3cee (diff) | |
parent | a2856af1d9289ee086b10768b53b65e0fd13a335 (diff) | |
download | gitpython-5613079f2494808f048b81815bf708debf7339d2.tar.gz |
Merge branch 'master' of git://gitorious.org/git-python/nud
Diffstat (limited to 'lib/git/repo.py')
-rw-r--r-- | lib/git/repo.py | 68 |
1 files changed, 31 insertions, 37 deletions
diff --git a/lib/git/repo.py b/lib/git/repo.py index 0e52fab7..aff595f1 100644 --- a/lib/git/repo.py +++ b/lib/git/repo.py @@ -62,20 +62,19 @@ class Repo(object): self.git = Git(self.wd) - @property - def description(self): - """ - The project's description. Taken verbatim from GIT_REPO/description + # Description property + def _get_description(self): + filename = os.path.join(self.path, 'description') + return file(filename).read().rstrip() - Returns - str - """ - try: - f = open(os.path.join(self.path, 'description')) - result = f.read() - return result.rstrip() - finally: - f.close() + def _set_description(self, descr): + filename = os.path.join(self.path, 'description') + file(filename, 'w').write(descr+'\n') + + description = property(_get_description, _set_description, + doc="the project's description") + del _get_description + del _set_description @property def heads(self): @@ -199,24 +198,22 @@ class Repo(object): diff_refs = list(set(other_repo_refs) - set(repo_refs)) return map(lambda ref: Commit.find_all(other_repo, ref, max_count=1)[0], diff_refs) - def tree(self, treeish = 'master', paths = []): + def tree(self, treeish = 'master'): """ The Tree object for the given treeish reference ``treeish`` is the reference (default 'master') - ``paths`` - is an optional Array of directory paths to restrict the tree (default []) Examples:: - repo.tree('master', ['lib/']) + repo.tree('master') Returns ``GitPython.Tree`` """ - return Tree.construct(self, treeish, paths) + return Tree(self, id=treeish) def blob(self, id): """ @@ -377,25 +374,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): """ |