summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--scripts/builder/repository.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/scripts/builder/repository.py b/scripts/builder/repository.py
index f8528c2..0045de7 100644
--- a/scripts/builder/repository.py
+++ b/scripts/builder/repository.py
@@ -1,29 +1,32 @@
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 git import Repo
8
9 repo = Repo(path)
10 result = GitRepository(repo, path)
11 except ImportError:
12 print "Failed to import git, please install http://gitorious.org/git-python"
13 #except:
14 from mercurial import ui, hg 7 from mercurial import ui, hg
15 8
16 repo = hg.repository(ui.ui(), path) 9 repo = hg.repository(ui.ui(), path)
17 result = HgRepository(repo, path) 10 result = HgRepository(repo, path)
11 except:
12 try:
13 from git import Repo
14
15 repo = Repo(path)
16 result = GitRepository(repo, path)
17 except ImportError, exception:
18 print "Failed to import git, please install http://gitorious.org/git-python"
19 raise exception
20
18 21
19 return result 22 return result
20 23
21 24
22#=================================================================== 25#===================================================================
23 26
24 27
25class Repository(object): 28class Repository(object):
26 29
27 def __init__ (self, repository, path): 30 def __init__ (self, repository, path):
28 self.repository = repository 31 self.repository = repository
29 self.path = path 32 self.path = path
@@ -41,24 +44,25 @@ class Repository(object):
41 result = self.revision() 44 result = self.revision()
42 if self.areTherePendingChanges(): 45 if self.areTherePendingChanges():
43 result = '>>> ' + result + ' <<<' 46 result = '>>> ' + result + ' <<<'
44 47
45 # print "VERSION: " + result 48 # print "VERSION: " + result
46 return result 49 return result
47 50
48 51
49#=================================================================== 52#===================================================================
50 53
51 54
52class GitRepository(Repository): 55class GitRepository(Repository):
56 #http://gitorious.org/git-python
53 57
54 def revision (self): 58 def revision (self):
55 return self.repository.head.commit.hexsha 59 return self.repository.head.commit.hexsha
56 60
57 61
58 def areTherePendingChanges (self): 62 def areTherePendingChanges (self):
59 return self.repository.is_dirty() 63 return self.repository.is_dirty()
60 64
61 65
62#=================================================================== 66#===================================================================
63 67
64 68