Revision 16,
1.4 KB
checked in by marcus, 15 years ago
(diff) |
r1 | svn | 2007-12-13 11:10:29 +0100 (Do, 13 Dez 2007) | 2 lines
Initial import
|
-
Property svn:executable set to
*
|
Line | |
---|
1 | #! /bin/csh |
---|
2 | # |
---|
3 | # file vrs_read_diff.csh |
---|
4 | # ================= |
---|
5 | # |
---|
6 | # version 1, 14-Dec-97 |
---|
7 | # |
---|
8 | # Reads difference file of version lists ('diff oldlist newlist') and writes |
---|
9 | # list of updated files in 'newlist' to stdout. |
---|
10 | # K. Stammler, 14-Dec-97 |
---|
11 | |
---|
12 | if ("$1" == "") then |
---|
13 | echo "Usage: $0 <difflist>" |
---|
14 | exit |
---|
15 | endif |
---|
16 | |
---|
17 | #set echo |
---|
18 | |
---|
19 | # get parameters |
---|
20 | set difflist=$1 |
---|
21 | |
---|
22 | # check parameters |
---|
23 | if (! -e $difflist) then |
---|
24 | echo "$0 : Input file $difflist not found. Abort." |
---|
25 | exit |
---|
26 | endif |
---|
27 | |
---|
28 | # set constants |
---|
29 | set tmpfile=$HOME/vrs_read_diff_$$.000 |
---|
30 | |
---|
31 | if (-e $tmpfile) \rm $tmpfile |
---|
32 | |
---|
33 | set noglob |
---|
34 | grep "^>" $difflist | sed 's/,/ /g' >$tmpfile |
---|
35 | |
---|
36 | # loop all lines |
---|
37 | set nlist = ( ) |
---|
38 | set vlist = ( ) |
---|
39 | set cnt=1 |
---|
40 | while (1 > 0) # forever |
---|
41 | set line=`sed -n $cnt"p" $tmpfile` |
---|
42 | if ("$line" == "") break |
---|
43 | if ($#line < 5) continue |
---|
44 | set fname=$line[2] |
---|
45 | set version=$line[5] |
---|
46 | set res=`echo $version | grep '[^0123456789]'` |
---|
47 | if ("$res" == "") then |
---|
48 | set nlist = ( $nlist $fname ) |
---|
49 | set vlist = ( $vlist $version ) |
---|
50 | endif |
---|
51 | @ cnt = $cnt + 1 |
---|
52 | end |
---|
53 | |
---|
54 | if ($#nlist != $#vlist) then |
---|
55 | echo "$0 : unexpected error. Abort." |
---|
56 | exit |
---|
57 | endif |
---|
58 | |
---|
59 | # loop all files |
---|
60 | set cnt=1 |
---|
61 | foreach fname ($nlist) |
---|
62 | set version=$vlist[$cnt] |
---|
63 | set res=`grep "^<" $difflist | grep $fname | sed 's/,/ /g'` |
---|
64 | if ("$res" == "") then |
---|
65 | echo $fname |
---|
66 | else |
---|
67 | if ($#res < 5) continue |
---|
68 | set ofname=$res[2] |
---|
69 | set oversion=$res[5] |
---|
70 | if ($oversion < $version) echo $fname |
---|
71 | endif |
---|
72 | @ cnt = $cnt + 1 |
---|
73 | end |
---|
74 | |
---|
75 | \rm $tmpfile |
---|
76 | |
---|
Note: See
TracBrowser
for help on using the repository browser.