mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-04 21:03:15 +00:00
2d79cc7950
Instead of failing if the server redirects us to a new URL, accept up to 2 redirects by printing 2 extra p's to subversion.
29 lines
817 B
Bash
29 lines
817 B
Bash
source $stdenv/setup
|
|
|
|
header "exporting $url (r$rev) into $out"
|
|
|
|
if test "$sshSupport"; then
|
|
export SVN_SSH="$openssh/bin/ssh"
|
|
fi
|
|
|
|
if test -n "$http_proxy"; then
|
|
# Configure proxy
|
|
mkdir .subversion
|
|
proxy="${http_proxy#*://}"
|
|
|
|
echo '[global]' > .subversion/servers
|
|
echo "http-proxy-host = ${proxy%:*}" >> .subversion/servers
|
|
echo "http-proxy-port = ${proxy##*:}" >> .subversion/servers
|
|
|
|
export HOME="$PWD"
|
|
fi;
|
|
|
|
# Pipe the "p" character into Subversion to force it to accept the
|
|
# 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. Pass in extra p's to handle redirects.
|
|
printf 'p\np\np\n' | svn export ${ignoreExternals:+--ignore-externals} \
|
|
-r "$rev" "$url" "$out"
|
|
|
|
stopNest
|