/tortoisehg/util/hgversion.py

https://bitbucket.org/tortoisehg/hgtk/ · Python · 35 lines · 22 code · 3 blank · 10 comment · 8 complexity · e1fbc5cba2feb194ba7e2a74565e888c MD5 · raw file

  1. # hgversion.py - Version information for Mercurial
  2. #
  3. # Copyright 2009 Steve Borho <steve@borho.org>
  4. #
  5. # This software may be used and distributed according to the terms of the
  6. # GNU General Public License version 2, incorporated herein by reference.
  7. import re
  8. try:
  9. # post 1.1.2
  10. from mercurial import util
  11. hgversion = util.version()
  12. except AttributeError:
  13. # <= 1.1.2
  14. from mercurial import version
  15. hgversion = version.get_version()
  16. def checkhgversion(v):
  17. """range check the Mercurial version"""
  18. reqver = ['1', '7']
  19. v = v.split('+')[0]
  20. if not v or v == 'unknown' or len(v) >= 12:
  21. # can't make any intelligent decisions about unknown or hashes
  22. return
  23. vers = re.split(r'\.|-', v)[:2]
  24. if vers == reqver or len(vers) < 2:
  25. return
  26. nextver = list(reqver)
  27. nextver[1] = chr(ord(reqver[1])+1)
  28. if vers == nextver:
  29. return
  30. return (('This version of TortoiseHg requires Mercurial '
  31. 'version %s.n to %s.n, but finds %s') %
  32. ('.'.join(reqver), '.'.join(nextver), v))