bin/mocksetup: /var/cache/mock: -u: Fix.
[nethome.git] / bin / diffdecvs
1 #! /bin/sh
2 # $Id$
3
4 if [ $# -ge 2 ];then
5         echo >&2 "Syntax: $0 [<diff>]"
6         exit 1
7 fi
8
9 prog='
10         $wasdiff-- if $wasdiff;
11         $wasdiff=3 if /^diff -/ || /^revision /;
12         # Do not substitute already existing "./"... or "/dev/null".
13         # gdb.spec is using -p1.
14         s{^(\Q---\E )gdb-[^/]*/}{$1./} if $wasdiff==2;
15         s{^(\Q+++\E )gdb-[^/]*/}{$1./} if $wasdiff==1;
16         # binutils.spec is using -p0.
17         s{^(\Q---\E )binutils-[^/]*/}{$1} if $wasdiff==2;
18         s{^(\Q+++\E )binutils-[^/]*/}{$1} if $wasdiff==1;
19         $f=$1 if m{^--- (\S+)\s*$} && $wasdiff==2;
20         s{^(\Q+++\E )-\t}{$1$f\t} && wasdiff==1;
21         next if /^[?]/;
22         next if /^Index:/;
23         next if /^index /;
24         next if /^={67}$/;
25         next if /^RCS file:/;
26         next if /^retrieving revision /;
27         next if /^diff -/;
28         next if /^revision /;
29         next if /^new file mode /;
30         next if /^deleted file mode /;
31         next if m{^/.*,v  -->  standard output$};
32         print;
33 '
34 if [ $# -eq 1 ];then
35         exec perl -ne "$prog" -i "$1"
36 else
37         exec perl -ne "$prog"
38 fi