setrev.awk revision 1.1 1 1.1 leo #!/usr/bin/awk -f
2 1.1 leo #
3 1.1 leo # $NetBSD: setrev.awk,v 1.1 1996/01/16 15:15:55 leo Exp $
4 1.1 leo #
5 1.1 leo function revcmp(r1, r2, n1, n2, a1, a2, n, i) {
6 1.1 leo n1 = split(r1, a1, "\.")
7 1.1 leo n2 = split(r2, a2, "\.")
8 1.1 leo n = (n1 < n2) ? n1 : n2
9 1.1 leo
10 1.1 leo for (i = 1; i <= n; ++i) {
11 1.1 leo if (a1[i] != a2[i])
12 1.1 leo return(a1[i] - a2[i])
13 1.1 leo }
14 1.1 leo if (n1 != n2)
15 1.1 leo return(n1 - n2)
16 1.1 leo return(0)
17 1.1 leo }
18 1.1 leo
19 1.1 leo BEGIN {
20 1.1 leo destfile = ARGV[1]
21 1.1 leo rev = "0.0"
22 1.1 leo }
23 1.1 leo
24 1.1 leo {
25 1.1 leo if (revcmp($4, rev) > 0)
26 1.1 leo rev = $4
27 1.1 leo next file
28 1.1 leo }
29 1.1 leo
30 1.1 leo END {
31 1.1 leo while ((e = getline <destfile) > 0) {
32 1.1 leo if (/"\$Revision.*\$"/)
33 1.1 leo sub("\\\$Revision.*\\\$", "Revision " rev)
34 1.1 leo print
35 1.1 leo }
36 1.1 leo if (e)
37 1.1 leo exit(1)
38 1.1 leo exit(0)
39 1.1 leo }
40