equal
deleted
inserted
replaced
43 except ImportError: |
43 except ImportError: |
44 return False |
44 return False |
45 |
45 |
46 def has_cvs(): |
46 def has_cvs(): |
47 re = r'Concurrent Versions System.*?server' |
47 re = r'Concurrent Versions System.*?server' |
48 return matchoutput('cvs --version 2>&1', re) |
48 return matchoutput('cvs --version 2>&1', re) and not has_msys() |
49 |
49 |
50 def has_darcs(): |
50 def has_darcs(): |
51 return matchoutput('darcs --version', r'2\.[2-9]', True) |
51 return matchoutput('darcs --version', r'2\.[2-9]', True) |
52 |
52 |
53 def has_mtn(): |
53 def has_mtn(): |
218 def has_serve(): |
218 def has_serve(): |
219 return os.name != 'nt' # gross approximation |
219 return os.name != 'nt' # gross approximation |
220 |
220 |
221 def has_tic(): |
221 def has_tic(): |
222 return matchoutput('test -x "`which tic`"', '') |
222 return matchoutput('test -x "`which tic`"', '') |
|
223 |
|
224 def has_msys(): |
|
225 return os.getenv('MSYSTEM') |
223 |
226 |
224 checks = { |
227 checks = { |
225 "baz": (has_baz, "GNU Arch baz client"), |
228 "baz": (has_baz, "GNU Arch baz client"), |
226 "bzr": (has_bzr, "Canonical's Bazaar client"), |
229 "bzr": (has_bzr, "Canonical's Bazaar client"), |
227 "bzr114": (has_bzr114, "Canonical's Bazaar client >= 1.14"), |
230 "bzr114": (has_bzr114, "Canonical's Bazaar client >= 1.14"), |
253 "system-sh": (has_system_sh, "system() uses sh"), |
256 "system-sh": (has_system_sh, "system() uses sh"), |
254 "tic": (has_tic, "terminfo compiler"), |
257 "tic": (has_tic, "terminfo compiler"), |
255 "tla": (has_tla, "GNU Arch tla client"), |
258 "tla": (has_tla, "GNU Arch tla client"), |
256 "unix-permissions": (has_unix_permissions, "unix-style permissions"), |
259 "unix-permissions": (has_unix_permissions, "unix-style permissions"), |
257 "windows": (has_windows, "Windows"), |
260 "windows": (has_windows, "Windows"), |
|
261 "msys": (has_msys, "Windows with MSYS"), |
258 } |
262 } |
259 |
263 |
260 def list_features(): |
264 def list_features(): |
261 for name, feature in checks.iteritems(): |
265 for name, feature in checks.iteritems(): |
262 desc = feature[1] |
266 desc = feature[1] |