fetchsvn: Add ignoreExternals attribute.

There are some SVN repositories out there which don't have revision information
tied to externals. By using ignoreExternals, fetchsvn won't fetch these
externals anymore, so the fetch won't fail with a checksum mismatch, should
there be some changes in some of those external repositories.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This commit is contained in:
aszlig 2013-03-26 19:48:52 +01:00
parent d4642465ab
commit 463378f7cc
No known key found for this signature in database
GPG key ID: D0EBD0EC8C2DC961
2 changed files with 4 additions and 3 deletions

View file

@ -22,6 +22,7 @@ fi;
# server's certificate. This is perfectly safe: we don't care
# whether the server is being spoofed --- only the cryptographic
# hash of the output matters.
echo 'p' | svn export -r "$rev" "$url" $out
echo 'p' | svn export ${ignoreExternals:+--ignore-externals} \
-r "$rev" "$url" "$out"
stopNest

View file

@ -1,5 +1,5 @@
{stdenv, subversion, sshSupport ? false, openssh ? null}:
{url, rev ? "HEAD", md5 ? "", sha256 ? ""}:
{url, rev ? "HEAD", md5 ? "", sha256 ? "", ignoreExternals ? false}:
let
repoName = with stdenv.lib;
@ -29,7 +29,7 @@ stdenv.mkDerivation {
outputHashMode = "recursive";
outputHash = if sha256 == "" then md5 else sha256;
inherit url rev sshSupport openssh;
inherit url rev sshSupport openssh ignoreExternals;
impureEnvVars = [
# We borrow these environment variables from the caller to allow