##// END OF EJS Templates
automation: push changes affecting .hgtags...
automation: push changes affecting .hgtags When I went to build the 5.1 tag using the in-repo automation, the automatic version calculation failed to deduce the clean 5.1 version string because we had only pushed the changeset corresponding to the 5.1 tag and not the changeset containing the 5.1 tag. So from the perspective of the remote repo, the 5.1 tag didn't exist yet and automatic version deduction failed. This commit changes the `hg push` to also push all changesets affecting the .hgtags file, ensuring the remote has up-to-date tags information. I tested this by creating a local draft changeset with a dummy tag value on a different DAG head and instructed the automation to build a revision that didn't have this change to .hgtags. The tag was successfully pushed and the built package had a version number incorporating that tag. Sending this to stable so the 5.1.1 automation hopefully "just works."

File last commit:

r41759:8f0e8b17 stable
r42911:9e0f1c80 stable
Show More
packagelib.sh
38 lines | 1.1 KiB | application/x-sh | BashLexer
# 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() {
export HGRCPATH=
export HGPLAIN=
make cleanbutpackages
make local PURE=--pure
HG="$PWD/hg"
"$HG" version > /dev/null || { echo 'abort: hg version failed!'; exit 1 ; }
hgversion=`LANGUAGE=C "$HG" version | sed -ne 's/.*(version \(.*\))$/\1/p'`
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
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-`"
else
version=$hgversion
type=''
fi
}