##// END OF EJS Templates
Remove unneeded "import os.path"
Thomas Arendsen Hein -
r5931:6482d349 default
parent child Browse files
Show More
@@ -1,79 +1,78 b''
1 # Copyright (C) 2005, 2006 by Intevation GmbH
1 # Copyright (C) 2005, 2006, 2008 by Intevation GmbH
2 2 # Author(s):
3 3 # Thomas Arendsen Hein <thomas@intevation.de>
4 4 #
5 5 # This program is free software under the GNU GPL (>=v2)
6 6 # Read the file COPYING coming with the software for details.
7 7
8 8 """
9 9 Mercurial version
10 10 """
11 11
12 12 import os
13 import os.path
14 13 import re
15 14 import time
16 15 import util
17 16
18 17 unknown_version = 'unknown'
19 18 remembered_version = False
20 19
21 20 def get_version(doreload=False):
22 21 """Return version information if available."""
23 22 try:
24 23 import mercurial.__version__
25 24 if doreload:
26 25 reload(mercurial.__version__)
27 26 version = mercurial.__version__.version
28 27 except ImportError:
29 28 version = unknown_version
30 29 return version
31 30
32 31 def write_version(version):
33 32 """Overwrite version file."""
34 33 if version == get_version():
35 34 return
36 35 directory = os.path.dirname(__file__)
37 36 for suffix in ['py', 'pyc', 'pyo']:
38 37 try:
39 38 os.unlink(os.path.join(directory, '__version__.%s' % suffix))
40 39 except OSError:
41 40 pass
42 41 f = open(os.path.join(directory, '__version__.py'), 'w')
43 42 f.write("# This file is auto-generated.\n")
44 43 f.write("version = %r\n" % version)
45 44 f.close()
46 45 # reload the file we've just written
47 46 get_version(True)
48 47
49 48 def remember_version(version=None):
50 49 """Store version information."""
51 50 global remembered_version
52 51 if not version and os.path.isdir(".hg"):
53 52 f = util.popen("hg identify") # use real hg installation
54 53 ident = f.read()[:-1]
55 54 if not f.close() and ident:
56 55 ids = ident.split(' ', 1)
57 56 version = ids.pop(0)
58 57 if version[-1] == '+':
59 58 version = version[:-1]
60 59 modified = True
61 60 else:
62 61 modified = False
63 62 if version.isalnum() and ids:
64 63 for tag in ids[0].split('/'):
65 64 # is a tag is suitable as a version number?
66 65 if re.match(r'^(\d+\.)+[\w.-]+$', tag):
67 66 version = tag
68 67 break
69 68 if modified:
70 69 version += time.strftime('+%Y%m%d')
71 70 if version:
72 71 remembered_version = True
73 72 write_version(version)
74 73
75 74 def forget_version():
76 75 """Remove version information."""
77 76 if remembered_version:
78 77 write_version(unknown_version)
79 78
General Comments 0
You need to be logged in to leave comments. Login now