3 . "$(dirname $0)/common.sh" ""
7 last=$(tail -n1 $SHA1_FILE | cut -f1 -d$'\t')
8 start_from=$(awk -F '\t' '$3 == "'$last'" { do getline; while (/^#/ || $2 == "branch"); print $3; exit 0; }' $CTRL_FILE)
14 [ -z "$start_from" ] && {
15 echo "-s requires a start tree" 1>&2
23 grep -v '^#' $CTRL_FILE |
24 awk -F '\t' '$3 == "'$1'" { print $'$2'; }'
36 echo "Cannot chdir to ../mmotm" 1>&2
39 rsync -az --partial --exclude .git\* --exclude broken-out.tar.gz --delete ozlabs.org::akpm/mmotm/. . || {
41 echo "Fetcing mmotm failed" 1>&2
45 [ "$(git status --porcelain)" ] &&
46 git commit -m "$(head -n 1 .DATE)"
53 url=$(get_field "$1" 4)
54 url=${url%/} # strip trailing / if necessary
57 echo "Cannot chdir to ../quilt" 1>&2
60 [ -d "$1" ] || mkdir "$1" || {
61 echo "Cannot create quilt directory for $1" 1>&2
65 echo "Cannot chdir to quilt directory for $1" 1>&2
68 wget -N -nv --no-cache "$url/series" || {
69 echo "Wget of $1 series file failed" 1>&2
75 find * -type f | grep -v '^series$' | sort >.series.old
76 if grep -q NEXT_PATCHES series; then
77 sed -n '/NEXT_PATCHES_START/,/NEXT_PATCHES_END/p' series
81 sed -e 's/[ \t]*#.*$//' -e '/^[ \t]*$/d' |
83 [ -s .series.next ] && {
84 wget -N -nv --no-cache -B "$url/" -i .series.next || {
85 echo "Wget of series '$1' failed" 1>&2
92 comm -23 .series.old .series.next | xargs -r rm -f
93 rm -f .series.old .series.next
94 setfattr -x user.xdg.origin.url * >/dev/null 2>&1
100 trees=$(grep -v '^#' $CTRL_FILE | awk -F '\t' '{ print $3 }')
102 for name in $trees; do
103 [ -n "$start_from" ] && {
104 if [ "$name" = "$start_from" ]; then
111 type=$(get_field "$name" 2)
114 [ $(type -t "fetch_$type") = "function" ] &&
120 [ "$(git status --porcelain)" ] &&
121 git commit -v -a -m "$(date '+%F-%H:%M')" -e