]> git.ozlabs.org Git - next-scripts/blobdiff - fetch_trees
merge_akpm: rationalise a bit
[next-scripts] / fetch_trees
index d22c6629263862ea88f5eb074c1fbf2f2d221c78..d2f476ae88c48a5f194c8fd86e62f96b5e296bc6 100755 (executable)
@@ -5,12 +5,12 @@ origwd=$(pwd)
 get_field()
 {
        grep -v '^#' ../real_control |
-               awk -F '        ' '$3 == "'$1'" { print $'$2'; }'
+               awk -F '\t' '$3 == "'$1'" { print $'$2'; }'
 }
 
 trees="$@"
 [ "$trees" ] ||
-       trees=$(grep -v '^#' ../real_control | awk -F ' ' '{ print $3 }')
+       trees=$(grep -v '^#' ../real_control | awk -F '\t' '{ print $3 }')
 
 for name in $trees; do
        type=$(get_field "$name" 2)
@@ -21,6 +21,16 @@ for name in $trees; do
                continue
        fi
 
+       if [ "$type" = "mmotm" ]; then
+               cd ../../mmotm/text || {
+                       echo "Cannot chdir to ../../mmotm/text" 1>&2
+                       continue
+               }
+               rsync -avHP --exclude .git --exclude broken-out.tar.gz --delete ozlabs.org:~akpm/public_html/mmotm/. .
+               cd "$origwd"
+               continue
+       fi
+
        if [ "$type" = "quilt" ]; then
                url=$(get_field "$name" 4)
                url=${url%/}    # strip trailing / if necessary
@@ -48,27 +58,23 @@ for name in $trees; do
                        continue
                }
                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 |
-                       sed -e 's/[     ]*#.*$//' -e '/^[       ]*$/d' |
+               if grep -q NEXT_PATCHES series; then
+                       sed -n '/NEXT_PATCHES_START/,/NEXT_PATCHES_END/p' series
+               else
+                       cat series
+               fi |
+                       sed -e 's/[ \t]*#.*$//' -e '/^[ \t]*$/d' |
                        sort >.series.next
-               sed "s|^|$url/|" .series.next |
-                               wget -N -nv --no-cache -i - || {
-                       echo "Wget of series '$name' failed" 1>&2
-                       cd ..
-                       rm -rf "$name"
-                       git checkout "$name"
-                       cd "$origwd"
-                       continue
+               [ -s .series.next ] && {
+                       sed "s|^|$url/|" .series.next |
+                                       wget -N -nv --no-cache -i - || {
+                               echo "Wget of series '$name' failed" 1>&2
+                               cd ..
+                               rm -rf "$name"
+                               git checkout "$name"
+                               cd "$origwd"
+                               continue
+                       }
                }
                comm -23 .series.old .series.next | xargs -r rm -f
                rm -f .series.old .series.next