author | Giulio Cesare Solaroli <giulio.cesare@clipperz.com> | 2012-03-17 14:40:38 (UTC) |
---|---|---|
committer | Giulio Cesare Solaroli <giulio.cesare@clipperz.com> | 2012-03-17 14:40:38 (UTC) |
commit | e61e994abb9738d98447b203b9908793da6f560a (patch) (side-by-side diff) | |
tree | c12d695420bb6281708b367d52970eac5615ef1c /scripts | |
parent | 65a7a7be3feb846d6b1062a0b858a7660e8f99fa (diff) | |
parent | 24f7bfcbe317fe9f0d7de7cef3cb3b3b341c95a5 (diff) | |
download | clipperz-e61e994abb9738d98447b203b9908793da6f560a.zip clipperz-e61e994abb9738d98447b203b9908793da6f560a.tar.gz clipperz-e61e994abb9738d98447b203b9908793da6f560a.tar.bz2 |
Merge branch 'buildScript' of https://github.com/jokajak/password-manager
Conflicts:
scripts/builder/repository.py
Signed-off-by: Giulio Cesare Solaroli <giulio.cesare@clipperz.com>
-rw-r--r-- | scripts/builder/repository.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/scripts/builder/repository.py b/scripts/builder/repository.py index 9da98a2..f8528c2 100644 --- a/scripts/builder/repository.py +++ b/scripts/builder/repository.py @@ -1,75 +1,77 @@ #!/usr/bin/env python # -*- coding: UTF-8 -*- def repositoryWithPath (path): try: - from dulwich.repo import Repo + from git import Repo repo = Repo(path) result = GitRepository(repo, path) - except: + except ImportError: + print "Failed to import git, please install http://gitorious.org/git-python" +# except: from mercurial import ui, hg repo = hg.repository(ui.ui(), path) result = HgRepository(repo, path) return result #=================================================================== class Repository(object): def __init__ (self, repository, path): self.repository = repository self.path = path def revision (self): raise NotImplementedError() def areTherePendingChanges (self): raise NotImplementedError() def version (self): result = self.revision() if self.areTherePendingChanges(): result = '>>> ' + result + ' <<<' # print "VERSION: " + result return result #=================================================================== class GitRepository(Repository): def revision (self): - return self.repository.refs['HEAD'] - + return self.repository.head.commit.hexsha + def areTherePendingChanges (self): return self.repository.is_dirty() #=================================================================== class HgRepository(Repository): # http://mercurial.selenic.com/wiki/MercurialApi def revision (self): return 'hg:' + str(self.repository['tip']) def areTherePendingChanges (self): # TODO: FIXME: repository.status() does not report 'unknown(?)' files. :( return not all(map(lambda fileList: len(fileList) == 0, self.repository.status())) #=================================================================== |