Merge pull request #7235 from risicle/fetchhgsubrepo

fetchhg: add option to fetch hg subrepos
This commit is contained in:
Edward Tjörnhammar 2015-05-04 18:20:32 +02:00
commit 655eed7a93
3 changed files with 11 additions and 3 deletions

View file

@ -3,7 +3,7 @@ header "getting $url${rev:+ ($rev)} into $out"
hg clone --insecure "$url" hg-clone
hg archive -q -y ${rev:+-r "$rev"} --cwd hg-clone $out
hg archive -q$subrepoClause -y ${rev:+-r "$rev"} --cwd hg-clone $out
rm -f $out/.hg_archival.txt
stopNest

View file

@ -1,4 +1,4 @@
{stdenv, mercurial, nix}: {name ? null, url, rev ? null, md5 ? null, sha256 ? null}:
{stdenv, mercurial, nix}: {name ? null, url, rev ? null, md5 ? null, sha256 ? null, fetchSubrepos ? false}:
# TODO: statically check if mercurial as the https support if the url starts woth https.
stdenv.mkDerivation {
@ -13,6 +13,8 @@ stdenv.mkDerivation {
# Nix <= 0.7 compatibility.
id = md5;
subrepoClause = if fetchSubrepos then "S" else "";
outputHashAlgo = if md5 != null then "md5" else "sha256";
outputHashMode = "recursive";
outputHash = if md5 != null then md5 else sha256;

View file

@ -17,6 +17,12 @@ if test -z "$url"; then
exit 1
fi
if test "$fetchSubrepos" == 1; then
subrepoClause=S
else
subrepoClause=
fi
test -n "$rev" || rev="tip"
@ -47,7 +53,7 @@ if test -z "$finalPath"; then
else
tmpClone=$url
fi
hg archive -q -y -r "$rev" --cwd $tmpClone $tmpArchive
hg archive -q$subrepoClause -y -r "$rev" --cwd $tmpClone $tmpArchive
rm -f $tmpArchive/.hg_archival.txt
echo "hg revision is $(cd $tmpClone; hg id -r "$rev" -i)"