~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to contrib/pwk

[merge] robert's knit-performance work

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/sh -pe
 
2
 
 
3
# take patches from patchwork into bzr
 
4
 
 
5
# authentication must be in ~/.netrc
 
6
 
 
7
# TODO: Scan all pending patches and say which ones apply cleanly.
 
8
 
 
9
# these should be moved into some kind of per-project configuration
 
10
PWK_ROOT='http://patchwork.ozlabs.org/bazaar-ng'
 
11
PWK_AUTH_ROOT='https://patchwork.ozlabs.org/bazaar-ng'
 
12
 
 
13
usage() {
 
14
    cat <<EOF
 
15
usage: 
 
16
   pwk cat PATCH-ID       show the patch text
 
17
   pwk try PATCH-ID        see if the patch applies cleanly
 
18
   pwk apply PATCH-ID      apply patch into current directory
 
19
EOF
 
20
}
 
21
 
 
22
catpatch() {
 
23
    curl --silent --show-error --get -d id=$1 $PWK_ROOT/patchcontent
 
24
}
 
25
 
 
26
if [ $# -lt 1 ]
 
27
then
 
28
    usage
 
29
    exit 1
 
30
fi
 
31
 
 
32
 
 
33
case "$1" in
 
34
help|-h|--help)
 
35
    usage
 
36
    exit 0
 
37
    ;;
 
38
cat)
 
39
    catpatch $2 | ${PAGER:-less}
 
40
    ;;
 
41
try)
 
42
    catpatch $2 | patch -p1 --dry-run
 
43
    ;;
 
44
apply)
 
45
    catpatch $2 | patch -p1
 
46
    ;;
 
47
*)
 
48
    usage
 
49
    exit 1
 
50
esac