--- /dev/null
+#!/bin/sh
+
+(
+ IFS=' '
+
+ while read email type name url ref; do
+ echo $name: $type
+ if [ "$type" = "git" ]; then
+ git fetch "$name"
+ continue
+ fi
+ (
+ cd ../quilt/"$name"
+ wget -N --quiet --recursive --no-directories --no-parent "$url"
+ )
+ done <../real_control
+
+ (
+ cd ../quilt
+ git add .
+ git commit -v -a
+ )
+)
+
+quilters=$(awk -F ' ' '$2=="quilt" { print $3; }' ../real_control)
+
+for name in $quilters; do
+ sfile="../quilt/$name/series"
+ base=$(sed -n 's/^[# ]*BASE[ ]*\(.*\)[ ]*$/\1/p' "$sfile")
+ case "$base" in
+ *-git[0-9]*) base=$(wget -q -O - "http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-${base}.id")
+ ;;
+ commit*) base=$(expr "$base" : "commit[ ]*\(.*\)")
+ ;;
+ [0-9]*.*) base="v$base"
+ ;;
+ esac
+ echo "$sfile": "$base"
+ grep -q NEXT_PATCHES "$sfile" && {
+ mv -f "$sfile" "$sfile.orig"
+ do_echo=:
+ while read line; do
+ case $line in
+ *NEXT_PATCHES_START*) do_echo=echo
+ ;;
+ *NEXT_PATCHES_END*) do_echo=:
+ ;;
+ esac
+ $do_echo $line
+ done <"$sfile.orig" >"$sfile"
+ }
+
+ git branch -D "quilt/$name"
+ git checkout -b "quilt/$name" "$base" || sh -i
+ git quiltimport --patches "../quilt/$name" || sh -i
+
+ [ -f "$sfile.orig" ] &&
+ mv -f $sfile.orig $sfile
+done
+
+exit 0