fetchhg: add option to fetch hg subrepos
This commit is contained in:
parent
066d6146fc
commit
366da9e70f
@ -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
|
||||
|
@ -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 {
|
||||
@ -9,6 +9,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;
|
||||
|
@ -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)"
|
||||
|
Loading…
Reference in New Issue
Block a user