3 #cp /dev/null ../quilt-import.log
7 echo "$@" | tee -a ../quilt-import.log
13 "$@" 2>&1 | tee -a ../quilt-import.log
14 [ ${PIPESTATUS[0]} -eq 0 ] || sh -i || {
15 [ -f "$sfile.orig" ] &&
16 mv -f "$sfile.orig" "$sfile"
21 quilters=$(grep -v '^#' ../real_control | awk -F ' ' '$2=="quilt" { print $3; }')
23 for name in $quilters; do
25 # don't bother importing things that haven't changed
26 change_size=$(cd ../quilt;git diff last_merge.. -- "$name/" | wc -c)
27 [ $change_size -eq 0 ] && {
28 log "Unchanged quilt series $name"
32 sfile="../quilt/$name/series"
33 base=$(sed -n 's/^[# ]*NEXT_BASE[ ]*\(.*\)[ ]*$/\1/p' "$sfile")
34 if [ -n "$base" ]; then
35 base=$(grep -v '^#' ../real_control | awk -F ' ' '$3=="'"$base"'" { if ($2=="quilt") printf("quilt/%s", "'"$base"'"); else printf("%s/%s", "'"$base"'", $5); }')
37 base=$(sed -n 's/^[# ]*BASE[ ]*\(.*\)[ ]*$/\1/p' "$sfile")
41 *-git[0-9]*) rbase=$(wget -q -O - "http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-${base}.id")
43 commit*) rbase=$(expr "$base" : "commit[ ]*\(.*\)")
45 [0-9]*.*) rbase="v$base"
48 log "Importing $name based on $base"
49 rbase_sha1=$(git rev-parse --verify "$rbase^{commit}") || {
53 mv -f "$sfile" "$sfile.orig"
54 if grep -q NEXT_PATCHES "$sfile.orig"; then
58 *NEXT_PATCHES_START*) do_echo=echo
60 *NEXT_PATCHES_END*) do_echo=:
64 done <"$sfile.orig" >"$sfile"
66 cp "$sfile.orig" "$sfile"
69 git show-ref --quiet --verify "refs/heads/quilt/$name" ||
70 execute git branch "quilt/$name" "$rbase_sha1"
72 mv -f "$sfile" "$sfile.tmp"
73 sed -e '/^[ ]*$/d' -e '/^[ ]*#/d' <"$sfile.tmp" >"$sfile"
76 log " quilt series is empty"
77 [ -f "$sfile.orig" ] &&
78 mv -f "$sfile.orig" "$sfile"
79 execute git update-ref "refs/heads/quilt/$name" "$rbase_sha1"
83 execute git checkout "quilt/$name"
84 execute git reset --hard "$rbase_sha1"
86 author=$(grep -v '^#' ../real_control | awk -F ' ' '$3=="'"$name"'" { printf("%s", $1); }' | sed 's/,.*$//')
87 execute git quiltimport --author "$author" --patches "../quilt/$name"
89 [ -f "$sfile.orig" ] &&
90 mv -f "$sfile.orig" "$sfile"
93 ( cd ../quilt; git update-ref refs/heads/last_merge HEAD )