1 | #!/bin/bash -x |
---|
2 | |
---|
3 | NAME=$1 |
---|
4 | if [ -z "$NAME" ]; then |
---|
5 | echo "Usage: arb_create_patch.sh name" |
---|
6 | false |
---|
7 | else |
---|
8 | if [ ! -d "$ARBHOME" ]; then |
---|
9 | echo "No patch created (ARBHOME undefined)" |
---|
10 | else |
---|
11 | if [ ! -d $ARBHOME/.svn ]; then |
---|
12 | echo "No patch created (no SVN checkout in ARBHOME)" |
---|
13 | else |
---|
14 | cd $ARBHOME |
---|
15 | PATCHDIR=./patches.arb |
---|
16 | mkdir -p $PATCHDIR |
---|
17 | DATE=`date '+%Y%m%d_%H%M%S'` |
---|
18 | PATCHNAME=${NAME}_$DATE |
---|
19 | PATCH=$PATCHDIR/$PATCHNAME.patch |
---|
20 | FAKEPATCH=$PATCHDIR/fake.patch |
---|
21 | RECENT_PATCH=./latest.patch |
---|
22 | INTERDIFF_PATCH=./interdiff.patch |
---|
23 | IGNORE_WHITE_PATCH=./latest_iwhite.patch |
---|
24 | WHITE_PATCH=./white.patch |
---|
25 | |
---|
26 | svn diff > $PATCH |
---|
27 | |
---|
28 | if [ -e $PATCH ]; then |
---|
29 | if [ ! -s $PATCH ]; then |
---|
30 | rm $PATCH |
---|
31 | if [ ! -e $FAKEPATCH ]; then |
---|
32 | echo "Index: No changes" > $FAKEPATCH |
---|
33 | echo "===================================================================" >> $FAKEPATCH |
---|
34 | fi |
---|
35 | ln --force $FAKEPATCH $RECENT_PATCH |
---|
36 | touch $FAKEPATCH |
---|
37 | rm -f $INTERDIFF_PATCH $IGNORE_WHITE_PATCH $WHITE_PATCH |
---|
38 | echo "No patch generated (no diff)" |
---|
39 | else |
---|
40 | DIFF=1 |
---|
41 | INTER=0 |
---|
42 | if [ -e $RECENT_PATCH ]; then |
---|
43 | DIFF=`diff $PATCH $RECENT_PATCH | wc -l` |
---|
44 | INTER=DIFF |
---|
45 | fi |
---|
46 | |
---|
47 | if [ $DIFF = 0 ]; then |
---|
48 | echo "No patch generated (same as last patch)" |
---|
49 | rm $PATCH |
---|
50 | rm -f $INTERDIFF_PATCH |
---|
51 | else |
---|
52 | ( svn diff -x -b > $IGNORE_WHITE_PATCH ; \ |
---|
53 | interdiff $PATCH $IGNORE_WHITE_PATCH > $WHITE_PATCH ) & |
---|
54 | |
---|
55 | if [ $INTER != 0 ]; then |
---|
56 | interdiff -w $RECENT_PATCH $PATCH > $INTERDIFF_PATCH |
---|
57 | else |
---|
58 | rm -f $INTERDIFF_PATCH |
---|
59 | fi |
---|
60 | ln --force $PATCH $RECENT_PATCH |
---|
61 | ls -hog $PATCH $RECENT_PATCH |
---|
62 | fi |
---|
63 | fi |
---|
64 | fi |
---|
65 | fi |
---|
66 | fi |
---|
67 | fi |
---|
68 | |
---|