-rw-r--r-- | scripts/builder/repository.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/scripts/builder/repository.py b/scripts/builder/repository.py index 7a44e47..2d4a12b 100644 --- a/scripts/builder/repository.py +++ b/scripts/builder/repository.py | |||
@@ -1,66 +1,67 @@ | |||
1 | #!/usr/bin/env python | 1 | #!/usr/bin/env python |
2 | # -*- coding: UTF-8 -*- | 2 | # -*- coding: UTF-8 -*- |
3 | 3 | ||
4 | 4 | ||
5 | def repositoryWithPath (path): | 5 | def repositoryWithPath (path): |
6 | try: | 6 | try: |
7 | from mercurial import ui, hg | 7 | from mercurial import ui, hg |
8 | 8 | ||
9 | repo = hg.repository(ui.ui(), path) | 9 | repo = hg.repository(ui.ui(), path) |
10 | result = HgRepository(repo, path) | 10 | result = HgRepository(repo, path) |
11 | except: | 11 | except: |
12 | try: | 12 | try: |
13 | from git import Repo | 13 | from git import Repo |
14 | repo = Repo(path) | 14 | repo = Repo(path) |
15 | result = GitRepository(repo, path) | 15 | result = GitRepository(repo, path) |
16 | except ImportError, exception: | 16 | except ImportError, exception: |
17 | print "Failed to import git, please install http://gitorious.org/git-python" | 17 | print "Failed to import git, please install http://gitorious.org/git-python" |
18 | raise exception | 18 | print "Use sudo apt-get install python-git for Ubuntu/Debian" |
19 | print "Use sudo yum install GitPython for Fedora/RHEL/CentOS" | ||
19 | except: | 20 | except: |
20 | result = SnapshotRepository('', path) | 21 | result = SnapshotRepository('', path) |
21 | 22 | ||
22 | 23 | ||
23 | return result | 24 | return result |
24 | 25 | ||
25 | 26 | ||
26 | #=================================================================== | 27 | #=================================================================== |
27 | 28 | ||
28 | 29 | ||
29 | class Repository(object): | 30 | class Repository(object): |
30 | 31 | ||
31 | def __init__ (self, repository, path): | 32 | def __init__ (self, repository, path): |
32 | self.repository = repository | 33 | self.repository = repository |
33 | self.path = path | 34 | self.path = path |
34 | 35 | ||
35 | 36 | ||
36 | def revision (self): | 37 | def revision (self): |
37 | raise NotImplementedError() | 38 | raise NotImplementedError() |
38 | 39 | ||
39 | 40 | ||
40 | def areTherePendingChanges (self): | 41 | def areTherePendingChanges (self): |
41 | raise NotImplementedError() | 42 | raise NotImplementedError() |
42 | 43 | ||
43 | 44 | ||
44 | def version (self): | 45 | def version (self): |
45 | result = self.revision() | 46 | result = self.revision() |
46 | if self.areTherePendingChanges(): | 47 | if self.areTherePendingChanges(): |
47 | result = '>>> ' + result + ' <<<' | 48 | result = '>>> ' + result + ' <<<' |
48 | 49 | ||
49 | # print "VERSION: " + result | 50 | # print "VERSION: " + result |
50 | return result | 51 | return result |
51 | 52 | ||
52 | 53 | ||
53 | #=================================================================== | 54 | #=================================================================== |
54 | 55 | ||
55 | 56 | ||
56 | class GitRepository(Repository): | 57 | class GitRepository(Repository): |
57 | #http://gitorious.org/git-python | 58 | #http://gitorious.org/git-python |
58 | 59 | ||
59 | def revision (self): | 60 | def revision (self): |
60 | try: | 61 | try: |
61 | return self.repository.head.commit.hexsha | 62 | return self.repository.head.commit.hexsha |
62 | except: | 63 | except: |
63 | return self.repository.commits()[0].id | 64 | return self.repository.commits()[0].id |
64 | 65 | ||
65 | 66 | ||
66 | def areTherePendingChanges (self): | 67 | def areTherePendingChanges (self): |