+++ /dev/null
-#!/bin/bash
-
-name=$1
-[ "$name" ] || {
- echo "Usage: $0 <tree>" 1>&2
- exit 1
-}
-
-get_field()
-{
- grep -v '^#' ../real_control |
- awk -F ' ' '$3 == "'$1'" { print $'$2'; }'
-}
-
-type=$(get_field "$name" 2)
-[ "$type" ] || {
- echo "Unknown tree: $name" 1>&2
- exit 1
-}
-
-echo $name: $type
-
-[ "$type" = "git" ] && {
- git fetch "$name"
- exit 0
-}
-
-[ "$type" = "quilt" ] || {
- echo "Unknow tree type: $type" 1>&2
- exit 1
-}
-
-url=$(get_field "$name" 4)
-
-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:,')
- ;;
-http://ozlabs.org/~*)
- use_rsync=true
- rurl=$(echo "$url" | sed -r 's,^http://ozlabs\.org/([^/]*),ozlabs.org:\1/public_html,')
- ;;
-*)
- use_rsync=false
- ;;
-esac
-
-cd ../quilt || {
- echo "Cannot chdir to ../quilt" 1>&2
- exit 1
-}
-[ -d "$name" ] || mkdir "$name" || {
- echo "Cannot create quilt directory for $name" 1>&2
- exit 1
-}
-cd "$name" || {
- echo "Cannot chdir to quilt directory for $name" 1>&2
- exit 1
-}
-
-if $use_rsync; then
- rsync -avz "$rurl/series" series || {
- echo "rsync of $name series file failed" 1>&2
- cd ..
- rm -rf "$name"
- git checkout "$name"
- exit 1
- }
-else
- wget -N -nv --no-cache "$url/series" || {
- echo "Wget of $name series file failed" 1>&2
- cd ..
- rm -rf "$name"
- git checkout "$name"
- exit 1
- }
-fi
-find * -type f | grep -v '^series$' | sort >.series.old
-do_echo=echo
-grep -q NEXT_PATCHES series &&
- do_echo=:
-while read line; do
- case "$line" in
- *NEXT_PATCHES_START*) do_echo=echo ;;
- *NEXT_PATCHES_END*) do_echo=: ;;
- ''|\#*) : ;;
- *) $do_echo $line ;;
- esac
-done <series | sort >.series.next
-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"
- exit 1
- }
-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"
- exit 1
- }
-fi
-comm -23 .series.old .series.next | xargs -r git rm -f
-rm -f .series.old .series.next
-
-git add .
-
-#git commit -v -a -m "$(date '+%F-%H:%M')" -e
-
-exit 0