author | Josh <jokajak@gmail.com> | 2012-03-19 01:30:36 (UTC) |
---|---|---|
committer | Josh <jokajak@gmail.com> | 2012-03-19 01:30:36 (UTC) |
commit | 67ba4cd7b5bc5e834db3106b3081677ee70d18f7 (patch) (unidiff) | |
tree | 811b944f321218fdb3d9d02df13da2ea2eef4949 /scripts | |
parent | 758bd68eee9c0ae1d3ad8dc50481c78557bd6228 (diff) | |
download | clipperz-67ba4cd7b5bc5e834db3106b3081677ee70d18f7.zip clipperz-67ba4cd7b5bc5e834db3106b3081677ee70d18f7.tar.gz clipperz-67ba4cd7b5bc5e834db3106b3081677ee70d18f7.tar.bz2 |
add code to handle older version of GitPython
-rw-r--r-- | scripts/builder/repository.py | 11 |
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 | ||
55 | class GitRepository(Repository): | 55 | class 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 | ||
69 | class HgRepository(Repository): | 76 | class 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 | #=================================================================== |