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