LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
sconsUtils
11.0
python
lsst
sconsUtils
vcs
hg.py
Go to the documentation of this file.
1
#
2
# A simple python interface to hg (Mercurial), using os.popen
3
# Based on the svn interface.
4
#
5
# If ever we want to do anything clever, we should use one of
6
# the supported svn/python packages
7
#
8
import
os, re
9
from
..
import
state
10
from
..
import
utils
11
12
def
guessVersionName
():
13
"""Guess a version name"""
14
version =
"unknown"
15
if
not
os.path.exists(
".hg"
):
16
state.log.warn(
"Cannot guess version without .hg directory; will be set to '%s'."
% version)
17
return
version
18
19
idents = utils.runExternal(
"hg id"
, fatal=
True
)
20
ident = re.split(
r"\s+"
, idents)
21
if
len(ident) == 0:
22
raise
RuntimeError(
"Unable to determine hg version"
)
23
24
if
re.search(
r"\+"
, ident[0]):
25
raise
RuntimeError(
"Error with hg version: uncommitted changes"
)
26
27
if
len(ident) == 1:
28
# Somehow, this is all we've got...
29
return
ident[0]
30
31
# Prefer tag name to branch name; branch names get printed in parens
32
index = 1
33
while
ident[index].startswith(
'('
)
and
ident[index].endswith(
')'
)
and
len(ident) > index + 1:
34
index += 1
35
36
# Prefer hash to "tip"
37
if
ident[index] ==
"tip"
:
38
return
ident[0]
39
40
return
ident[index]
41
42
def
guessFingerprint
():
43
"""Return (fingerprint, modified) where fingerprint is the repository's SHA1"""
44
fingerprint, modified =
"0x0"
,
False
45
if
not
os.path.exists(
".hg"
):
46
state.log.warn(
"Cannot guess fingerprint without .hg directory; will be set to '%s'."
% fingerprint)
47
else
:
48
idents = utils.runExternal(
"hg id"
, fatal=
True
)
49
ident = re.split(
r"\s+"
, idents)
50
if
len(ident) == 0:
51
raise
RuntimeError(
"Unable to determine hg version"
)
52
53
fingerprint = utils.runExternal(
"hg ident --id"
, fatal=
True
).strip()
54
if
re.search(
r"\+"
, ident[0]):
55
modified =
True
56
57
return
fingerprint, modified
lsst.sconsUtils.vcs.hg.guessFingerprint
def guessFingerprint
Definition:
hg.py:42
lsst.sconsUtils.vcs.hg.guessVersionName
def guessVersionName
Definition:
hg.py:12
Generated on Thu Sep 24 2015 02:29:24 for LSSTApplications by
1.8.5