summaryrefslogtreecommitdiff
path: root/scripts
authorJosh <jokajak@gmail.com>2012-03-19 01:30:36 (UTC)
committer Josh <jokajak@gmail.com>2012-03-19 01:30:36 (UTC)
commit67ba4cd7b5bc5e834db3106b3081677ee70d18f7 (patch) (unidiff)
tree811b944f321218fdb3d9d02df13da2ea2eef4949 /scripts
parent758bd68eee9c0ae1d3ad8dc50481c78557bd6228 (diff)
downloadclipperz-67ba4cd7b5bc5e834db3106b3081677ee70d18f7.zip
clipperz-67ba4cd7b5bc5e834db3106b3081677ee70d18f7.tar.gz
clipperz-67ba4cd7b5bc5e834db3106b3081677ee70d18f7.tar.bz2
add code to handle older version of GitPython
Diffstat (limited to 'scripts') (more/less context) (ignore whitespace changes)
-rw-r--r--scripts/builder/repository.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/scripts/builder/repository.py b/scripts/builder/repository.py
index 0045de7..a47e249 100644
--- a/scripts/builder/repository.py
+++ b/scripts/builder/repository.py
@@ -35,47 +35,54 @@ class Repository(object):
35 def revision (self): 35 def revision (self):
36 raise NotImplementedError() 36 raise NotImplementedError()
37 37
38 38
39 def areTherePendingChanges (self): 39 def areTherePendingChanges (self):
40 raise NotImplementedError() 40 raise NotImplementedError()
41 41
42 42
43 def version (self): 43 def version (self):
44 result = self.revision() 44 result = self.revision()
45 if self.areTherePendingChanges(): 45 if self.areTherePendingChanges():
46 result = '>>> ' + result + ' <<<' 46 result = '>>> ' + result + ' <<<'
47 47
48 # print "VERSION: " + result 48 # print "VERSION: " + result
49 return result 49 return result
50 50
51 51
52#=================================================================== 52#===================================================================
53 53
54 54
55class GitRepository(Repository): 55class GitRepository(Repository):
56 #http://gitorious.org/git-python 56 #http://gitorious.org/git-python
57 57
58 def revision (self): 58 def revision (self):
59 return self.repository.head.commit.hexsha 59 try:
60 return self.repository.head.commit.hexsha
61 except:
62 return self.repository.commits()[0].id
60 63
61 64
62 def areTherePendingChanges (self): 65 def areTherePendingChanges (self):
63 return self.repository.is_dirty() 66 try:
67 return self.repository.is_dirty()
68 except TypeError, te:
69 return self.repository.is_dirty
70
64 71
65 72
66#=================================================================== 73#===================================================================
67 74
68 75
69class HgRepository(Repository): 76class HgRepository(Repository):
70 #http://mercurial.selenic.com/wiki/MercurialApi 77 #http://mercurial.selenic.com/wiki/MercurialApi
71 78
72 def revision (self): 79 def revision (self):
73 return 'hg:' + str(self.repository['tip']) 80 return 'hg:' + str(self.repository['tip'])
74 81
75 82
76 def areTherePendingChanges (self): 83 def areTherePendingChanges (self):
77 # TODO: FIXME: repository.status() does not report 'unknown(?)' files. :( 84 # TODO: FIXME: repository.status() does not report 'unknown(?)' files. :(
78 return not all(map(lambda fileList: len(fileList) == 0, self.repository.status())) 85 return not all(map(lambda fileList: len(fileList) == 0, self.repository.status()))
79 86
80 87
81#=================================================================== 88#===================================================================