mirror of
https://github.com/golang/go
synced 2024-11-21 22:14:41 -07:00
build: support versioning without hg
CL 4873048 introduced the ability to build without hg and getting an "unknown" version. While this approach works to avoid the hg dependency, it also means that every exported tree that is built without hg or .hg will have not only missing information, but will also be compatible to one another. Considering that it is a common practice to remove the VCS data in distributions, I suggest we don't take this approach to avoid its consequences. This CL fixes the same problem in a different way: if a VERSION file at the top of the tree exists, use it at all times. If it doesn't, fall back to using information from hg necessarily, and fail if that's not possible. The error message when VERSION and hg are not available instructs users to handle it properly. The VERSION file can be generated with "src/version.bash -save" while hg is still around. R=golang-dev, rsc, gustavo CC=golang-dev https://golang.org/cl/4897043
This commit is contained in:
parent
a2bb0159d6
commit
220c74984a
@ -3,13 +3,21 @@
|
||||
# Use of this source code is governed by a BSD-style
|
||||
# license that can be found in the LICENSE file.
|
||||
|
||||
# Check that we can use 'hg'
|
||||
if ! hg version > /dev/null 2>&1; then
|
||||
echo 'unable to report version: hg not installed' 1>&2
|
||||
echo 'unknown'
|
||||
GOROOT=$(cd `dirname $0`/..; pwd)
|
||||
|
||||
# If a version file created by -save is available, use it
|
||||
if [ -f "$GOROOT/VERSION" ]; then
|
||||
cat $GOROOT/VERSION
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Otherwise, if hg doesn't work for whatever reason, fail
|
||||
if [ ! -d "$GOROOT/.hg" ] || ! hg version > /dev/null 2>&1; then
|
||||
echo 'Unable to report version: hg and VERSION file missing' 1>&2
|
||||
echo 'Generate VERSION with `src/version.bash -save` while hg is usable' 1>&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
# Get numerical revision
|
||||
VERSION=$(hg identify -n 2>/dev/null)
|
||||
if [ $? != 0 ]; then
|
||||
@ -35,5 +43,9 @@ if [ "$TAG" != "" ]; then
|
||||
VERSION="$TAG $VERSION"
|
||||
fi
|
||||
|
||||
echo $VERSION
|
||||
|
||||
if [ "$1" = "-save" ]; then
|
||||
echo $VERSION > $GOROOT/VERSION
|
||||
echo "Saved '$VERSION' to $GOROOT/VERSION" 1>&2
|
||||
else
|
||||
echo $VERSION
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user