1 # Copyright (c) David Aguilar
2 """Provide git-cola's version number"""
7 if __name__
== '__main__':
8 srcdir
= os
.path
.dirname(os
.path
.dirname(__file__
))
9 sys
.path
.insert(1, srcdir
)
11 from cola
.git
import git
12 from cola
.git
import STDOUT
13 from cola
.decorators
import memoize
14 from cola
._version
import VERSION
16 # minimum version requirements
18 # git-diff learned --patience in 1.6.2
19 # git-mergetool learned --no-prompt in 1.6.2
20 # git-difftool moved out of contrib in git 1.6.3
24 'pyqt_qrunnable': '4.4',
25 'diff-submodule': '1.6.6',
30 """Returns an entry from the known versions table"""
31 return _versions
.get(key
)
35 """Returns the current version"""
40 def check_version(min_ver
, ver
):
41 """Check whether ver is greater or equal to min_ver
43 min_ver_list
= version_to_list(min_ver
)
44 ver_list
= version_to_list(ver
)
45 return min_ver_list
<= ver_list
50 """Checks if a version is greater than the known version for <what>"""
51 return check_version(get(key
), ver
)
54 def version_to_list(version
):
55 """Convert a version string to a list of numbers or strings
58 for p
in version
.split('.'):
68 def git_version_str():
69 """Returns the current GIT version"""
70 return git
.version()[STDOUT
].strip()
74 """Returns the current GIT version"""
75 parts
= git_version_str().split()
76 if parts
and len(parts
) >= 3:
79 # minimum supported version
83 def print_version(brief
=False):
85 print('%s' % version())
87 print('cola version %s' % version())
90 if __name__
== '__main__':