summaryrefslogtreecommitdiff
path: root/scripts/builder
Unidiff
Diffstat (limited to 'scripts/builder') (more/less context) (ignore whitespace changes)
-rw-r--r--scripts/builder/repository.py10
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,23 +1,25 @@
1#!/usr/bin/env python 1#!/usr/bin/env python
2# -*- coding: UTF-8 -*- 2# -*- coding: UTF-8 -*-
3 3
4 4
5def repositoryWithPath (path): 5def repositoryWithPath (path):
6 try: 6 try:
7 from dulwich.repo import Repo 7 from git import Repo
8 8
9 repo = Repo(path) 9 repo = Repo(path)
10 result = GitRepository(repo, path) 10 result = GitRepository(repo, path)
11 except: 11 except ImportError:
12 print "Failed to import git, please install http://gitorious.org/git-python"
13 #except:
12 from mercurial import ui, hg 14 from mercurial import ui, hg
13 15
14 repo = hg.repository(ui.ui(), path) 16 repo = hg.repository(ui.ui(), path)
15 result = HgRepository(repo, path) 17 result = HgRepository(repo, path)
16 18
17 return result 19 return result
18 20
19 21
20#=================================================================== 22#===================================================================
21 23
22 24
23class Repository(object): 25class Repository(object):
@@ -41,26 +43,26 @@ class Repository(object):
41 result = '>>> ' + result + ' <<<' 43 result = '>>> ' + result + ' <<<'
42 44
43 # print "VERSION: " + result 45 # print "VERSION: " + result
44 return result 46 return result
45 47
46 48
47#=================================================================== 49#===================================================================
48 50
49 51
50class GitRepository(Repository): 52class GitRepository(Repository):
51 53
52 def revision (self): 54 def revision (self):
53 return self.repository.refs['HEAD'] 55 return self.repository.head.commit.hexsha
54 56
55 57
56 def areTherePendingChanges (self): 58 def areTherePendingChanges (self):
57 return self.repository.is_dirty() 59 return self.repository.is_dirty()
58 60
59 61
60#=================================================================== 62#===================================================================
61 63
62 64
63class HgRepository(Repository): 65class HgRepository(Repository):
64 #http://mercurial.selenic.com/wiki/MercurialApi 66 #http://mercurial.selenic.com/wiki/MercurialApi
65 67
66 def revision (self): 68 def revision (self):