summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--scripts/builder/repository.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/scripts/builder/repository.py b/scripts/builder/repository.py
index f3f7d6f..7ea29bb 100644
--- a/scripts/builder/repository.py
+++ b/scripts/builder/repository.py
@@ -7,71 +7,71 @@ def repositoryWithPath (path):
7 from dulwich.repo import Repo 7 from dulwich.repo import Repo
8 8
9 repo = Repo(path) 9 repo = Repo(path)
10 result = GitRepository(repo, path) 10 result = GitRepository(repo, path)
11 except ImportError: 11 except ImportError:
12 print "Failed to import dulwich, please install http://www.samba.org/~jelmer/dulwich/" 12 print "Failed to import dulwich, please install http://www.samba.org/~jelmer/dulwich/"
13 except: 13 except:
14 from mercurial import ui, hg 14 from mercurial import ui, hg
15 15
16 repo = hg.repository(ui.ui(), path) 16 repo = hg.repository(ui.ui(), path)
17 result = HgRepository(repo, path) 17 result = HgRepository(repo, path)
18 18
19 return result 19 return result
20 20
21 21
22#=================================================================== 22#===================================================================
23 23
24 24
25class Repository(object): 25class Repository(object):
26 26
27 def __init__ (self, repository, path): 27 def __init__ (self, repository, path):
28 self.repository = repository 28 self.repository = repository
29 self.path = path 29 self.path = path
30 30
31 31
32 def revision (self): 32 def revision (self):
33 raise NotImplementedError() 33 raise NotImplementedError()
34 34
35 35
36 def areTherePendingChanges (self): 36 def areTherePendingChanges (self):
37 raise NotImplementedError() 37 raise NotImplementedError()
38 38
39 39
40 def version (self): 40 def version (self):
41 result = self.revision() 41 result = self.revision()
42 if self.areTherePendingChanges(): 42 if self.areTherePendingChanges():
43 result = '>>> ' + result + ' <<<' 43 result = '>>> ' + result + ' <<<'
44 44
45 # print "VERSION: " + result 45 # print "VERSION: " + result
46 return result 46 return result
47 47
48 48
49#=================================================================== 49#===================================================================
50 50
51 51
52class GitRepository(Repository): 52class GitRepository(Repository):
53 53
54 def revision (self): 54 def revision (self):
55 return repository.refs['HEAD'] 55 return self.repository.refs['HEAD']
56 56
57 57
58 def areTherePendingChanges (self): 58 def areTherePendingChanges (self):
59 return repository.is_dirty() 59 return repository.is_dirty()
60 60
61 61
62#=================================================================== 62#===================================================================
63 63
64 64
65class HgRepository(Repository): 65class HgRepository(Repository):
66 #http://mercurial.selenic.com/wiki/MercurialApi 66 #http://mercurial.selenic.com/wiki/MercurialApi
67 67
68 def revision (self): 68 def revision (self):
69 return 'hg:' + str(self.repository['tip']) 69 return 'hg:' + str(self.repository['tip'])
70 70
71 71
72 def areTherePendingChanges (self): 72 def areTherePendingChanges (self):
73 # TODO: FIXME: repository.status() does not report 'unknown(?)' files. :( 73 # TODO: FIXME: repository.status() does not report 'unknown(?)' files. :(
74 return not all(map(lambda fileList: len(fileList) == 0, self.repository.status())) 74 return not all(map(lambda fileList: len(fileList) == 0, self.repository.status()))
75 75
76 76
77#=================================================================== 77#===================================================================