]> git.ozlabs.org Git - next-scripts/blob - import_quilt_series
baf4310a467cc18bc499bde153792d608ba36be9
[next-scripts] / import_quilt_series
1 #!/bin/bash
2
3 quilt_dir="../quilt"
4
5 name="$1"
6
7 sfile="$quilt_dir/$name/series"
8 base=$(sed -n 's/^[#    ]*NEXT_BASE[    ]*\(.*\)[       ]*$/\1/p' "$sfile")
9 if [ -n "$base" ]; then
10         base=$(grep -v '^#' ../real_control | awk -F '  ' '$3=="'"$base"'" { if ($2=="quilt") printf("quilt/%s", "'"$base"'"); else printf("%s/%s", "'"$base"'", $5); }')
11 else
12         base=$(sed -n 's/^[#    ]*BASE[         ]*\(.*\)[       ]*$/\1/p' "$sfile")
13 fi
14 rbase="$base"
15 case "$base" in
16 *-git[0-9]*)    rbase=$(wget -q -O - "http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-${base}.id")
17                 ;;
18 commit*)        rbase=$(expr "$base" : "commit[         ]*\(.*\)")
19                 ;;
20 [0-9]*.*)       rbase="v$base"
21                 ;;
22 esac
23 #log "Importing $name based on $base"
24 git rev-list -n 1 "$rbase" -- >/dev/null 2>&1 || {
25 #       log "Unknown BASE"
26         continue
27 }
28 grep -q NEXT_PATCHES "$sfile" && {
29         mv -f "$sfile" "$sfile.orig"
30         do_echo=:
31         while read line; do
32                 case $line in
33                 *NEXT_PATCHES_START*)   do_echo=echo
34                                         ;;
35                 *NEXT_PATCHES_END*)     do_echo=:
36                                         ;;
37                 esac
38                 $do_echo $line
39         done <"$sfile.orig" >"$sfile"
40 }
41
42 #execute git branch -D "next-quilt-$name"
43 git branch -D "next-quilt-$name"
44 #execute git checkout -b "next-quilt-$name" "$rbase" || sh -i || {
45 git checkout -b "next-quilt-$name" "$rbase" || sh -i || {
46         [ -f "$sfile.orig" ] && mv -f $sfile.orig $sfile
47         exit 1
48 }
49 author=$(grep -v '^#' ../real_control | awk -F '        ' '$3=="'"$name"'" { printf("%s", $1); }' | sed 's/,.*$//')
50 #execute git quiltimport --author "$author" --patches "$quilt_dir/$name" || sh -i || {
51 git quiltimport --author "$author" --patches "$quilt_dir/$name" || sh -i || {
52         [ -f "$sfile.orig" ] && mv -f $sfile.orig $sfile
53         exit 1
54 }
55
56 [ -f "$sfile.orig" ] &&
57         mv -f $sfile.orig $sfile
58