##// END OF EJS Templates
rhg: use `Command::exec` instead of `Command::status`...
rhg: use `Command::exec` instead of `Command::status` `rhg` is supposed to be a transparent executable, using a subprocess defeats that purpose. See inline comments for more details. This also introduces the `which` crate to check if the fallback executable actually exists to help debugging (plain `execve` doesn't give much information). The error code 253 is used to signify that the fallback is not found, but may mean in the future that it is otherwise invalid if we start being more specific. Differential Revision: https://phab.mercurial-scm.org/D12578

File last commit:

r46597:97205cf0 default
r50041:2b1d4e0b stable
Show More
packagelib.sh
43 lines | 1.3 KiB | application/x-sh | BashLexer
Gregory Szorc
packaging: move packagelib.sh into contrib/packaging/...
r38025 # Extract version number into 4 parts, some of which may be empty:
#
# version: the numeric part of the most recent tag. Will always look like 1.3.
#
# type: if an rc build, "rc", otherwise empty
#
# distance: the distance from the nearest tag, or empty if built from a tag
#
# node: the node|short hg was built from, or empty if built from a tag
gethgversion() {
Mathias De Mare
packaging: don't use plain 'python' if another python has been specified...
r46597 if [ -z "${1+x}" ]; then
python="python"
else
python="$1"
fi
Gregory Szorc
packaging: move packagelib.sh into contrib/packaging/...
r38025 export HGRCPATH=
export HGPLAIN=
Mathias De Mare
packaging: don't use plain 'python' if another python has been specified...
r46597 make cleanbutpackages PYTHON=$python
make local PURE=--pure PYTHON=$python
Gregory Szorc
packaging: move packagelib.sh into contrib/packaging/...
r38025 HG="$PWD/hg"
Mathias De Mare
packaging: don't use plain 'python' if another python has been specified...
r46597 $python "$HG" version > /dev/null || { echo 'abort: hg version failed!'; exit 1 ; }
Gregory Szorc
packaging: move packagelib.sh into contrib/packaging/...
r38025
Mathias De Mare
packaging: don't use plain 'python' if another python has been specified...
r46597 hgversion=`LANGUAGE=C $python "$HG" version | sed -ne 's/.*(version \(.*\))$/\1/p'`
Gregory Szorc
packaging: move packagelib.sh into contrib/packaging/...
r38025
if echo $hgversion | grep + > /dev/null 2>&1 ; then
tmp=`echo $hgversion | cut -d+ -f 2`
hgversion=`echo $hgversion | cut -d+ -f 1`
distance=`echo $tmp | cut -d- -f 1`
node=`echo $tmp | cut -d- -f 2`
else
distance=''
node=''
fi
Mathias De Mare
packaging: modify rc detection to work with X.Yrc instead of X.Y-rc...
r41759 if echo $hgversion | grep -E -- '[0-9]\.[0-9](\.[0-9])?rc' > /dev/null 2>&1; then
version=`echo $hgversion | cut -d'r' -f1`
type="rc`echo $hgversion | cut -d'c' -f2-`"
Gregory Szorc
packaging: move packagelib.sh into contrib/packaging/...
r38025 else
version=$hgversion
type=''
fi
}