diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2019-03-31 12:15:40 -0400 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2019-05-08 10:10:57 +1000 |
commit | a8b3d1a62afaeee4f1586f6c463f6bf51f7a2d70 (patch) | |
tree | c30f275ea0761d0c07c3e3833362b4c5ecfe2cac /scripts/libmakepkg/source | |
parent | 915ac9ff9b112997bcdb14d7136f4862c9537a35 (diff) | |
download | pacman-a8b3d1a62afaeee4f1586f6c463f6bf51f7a2d70.tar.xz |
makepkg: correctly handle hg sources with updates on a non-default branch
The "tip" ref actually signifies the most recently updated branch. hg
does not support a default branch named anything other than "default",
except by creating a "@" bookmark. The correct way to explicitly update
to the default clone ref, is therefore to use one of these, rather than
"tip".
Fixes FS#62092
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'scripts/libmakepkg/source')
-rw-r--r-- | scripts/libmakepkg/source/hg.sh.in | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scripts/libmakepkg/source/hg.sh.in b/scripts/libmakepkg/source/hg.sh.in index 4984883e..2fe32bab 100644 --- a/scripts/libmakepkg/source/hg.sh.in +++ b/scripts/libmakepkg/source/hg.sh.in @@ -79,7 +79,11 @@ extract_hg() { msg2 "$(gettext "Creating working copy of %s %s repo...")" "${repo}" "hg" pushd "$srcdir" &>/dev/null - local ref=tip + local ref=default + # Is the repository configured to checkout some ref other than 'default'? + if hg identify -r @ "$dir" >/dev/null 2>&1; then + ref=@ + fi if [[ -n $fragment ]]; then case ${fragment%%=*} in branch|revision|tag) |