continue
fi
if [ "$type" = "quilt" ]; then
+ case "$url" in
+ http://kernel.org/*|http://www.kernel.org/*)
+ use_rsync=true
+ rurl=$(echo "$url" | sed -r 's,^http://(www\.)?kernel\.org,master.kernel.org:,')
+ ;;
+ *)
+ use_rsync=false
+ ;;
+ esac
cd ../quilt || {
echo "Cannot chdir to ../quilt" 1>&2
continue
cd "$origwd"
continue
}
- wget -N -nv --no-cache "$url/series" || {
- echo "Wget of $name series file failed" 1>&2
- cd "$origwd"
- continue
- }
+ if $use_rsync; then
+ rsync -avz "$rurl/series" series || {
+ echo "rsync of $name series file failed" 1>&2
+ cd "$origwd"
+ continue
+ }
+ else
+ wget -N -nv --no-cache "$url/series" || {
+ echo "Wget of $name series file failed" 1>&2
+ cd "$origwd"
+ continue
+ }
+ fi
find * -type f | grep -v '^series$' | sort >.series.old
do_echo=echo
grep -q NEXT_PATCHES series &&
*) $do_echo $line ;;
esac
done <series | sort >.series.next
- wget -N -nv --no-cache -B "$url" -i .series.next || {
- echo "Wget of series '$name' failed" 1>&2
- cd ..
- rm -rf "$name"
- git checkout "$name"
- break
- }
+ if $use_rsync; then
+ rsync -avz --files-from .series.next "$rurl" . || {
+ echo "rsync of series '$name' failed" 1>&2
+ cd ..
+ rm -rf "$name"
+ git checkout "$name"
+ break
+ }
+ else
+ wget -N -nv --no-cache -B "$url" -i .series.next || {
+ echo "Wget of series '$name' failed" 1>&2
+ cd ..
+ rm -rf "$name"
+ git checkout "$name"
+ break
+ }
+ fi
comm -23 .series.old .series.next | xargs -r rm -f
rm -f .series.old .series.next
cd "$origwd"