parent
2b98426a4e
commit
ea6520357a
|
@ -0,0 +1,6 @@
|
||||||
|
version 5.0
|
||||||
|
map! >I<yypa/O
|
||||||
|
set autoindent
|
||||||
|
set exrc
|
||||||
|
set ruler
|
||||||
|
set shiftwidth=4
|
|
@ -0,0 +1,24 @@
|
||||||
|
include GNUmakevars
|
||||||
|
|
||||||
|
all: cvsdiffmin
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm cvsdiffmin customize
|
||||||
|
|
||||||
|
install: $(BINDIR) $(BINDIR)/cvsdiffmin
|
||||||
|
|
||||||
|
%: %.pl customize
|
||||||
|
sh ./customize < $< > $@
|
||||||
|
chmod +x $@
|
||||||
|
|
||||||
|
%: %.sh customize
|
||||||
|
sh ./customize < $< > $@
|
||||||
|
chmod +x $@
|
||||||
|
|
||||||
|
customize: configure
|
||||||
|
sh ./configure
|
||||||
|
|
||||||
|
$(BINDIR):
|
||||||
|
mkdir -p $@
|
||||||
|
|
||||||
|
include GNUmakerules
|
|
@ -0,0 +1,68 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
echo "#!/bin/sh" > customize.$$
|
||||||
|
echo "sed \\" > customize.$$
|
||||||
|
chmod +x customize.$$
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
# find a working perl:
|
||||||
|
#
|
||||||
|
for i in /usr/bin/perl /usr/local/bin/perl /usr/bin/perl5 /usr/local/bin/perl5
|
||||||
|
do
|
||||||
|
if $i -e 'exit ($] < 5.000)'
|
||||||
|
then
|
||||||
|
echo $i works
|
||||||
|
perl="$i"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ -z "$perl" ]
|
||||||
|
then
|
||||||
|
could not find a working perl command, sorry.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo " -e 's,@@@perl@@@,$perl,g' \\" >> customize.$$
|
||||||
|
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
# find a diff which understands --changed-group-format
|
||||||
|
# and related options (like gnu diff)
|
||||||
|
#
|
||||||
|
echo 'a
|
||||||
|
b
|
||||||
|
c' > diff_format-test.$$.1
|
||||||
|
echo 'a
|
||||||
|
B
|
||||||
|
c' > diff_format-test.$$.2
|
||||||
|
|
||||||
|
wanted="<b
|
||||||
|
=B
|
||||||
|
>"
|
||||||
|
for i in /usr/bin/diff /usr/local/bin/diff
|
||||||
|
do
|
||||||
|
a="`$i --unchanged-group-format='' --changed-group-format='<%<=%>>' diff_format-test.$$.1 diff_format-test.$$.2`"
|
||||||
|
echo "$a"
|
||||||
|
|
||||||
|
if [ "x$a" = "x$wanted" ]
|
||||||
|
then
|
||||||
|
echo $i works
|
||||||
|
diff_format="$i"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ -z "$diff_format" ]
|
||||||
|
then
|
||||||
|
echo could not find a working diff_format command, sorry.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo " -e 's,@@@diff_format@@@,$diff_format,g' \\" >> customize.$$
|
||||||
|
rm diff_format-test.$$.?
|
||||||
|
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
# finish
|
||||||
|
# Add trailing newline and rename temp file to final name
|
||||||
|
#
|
||||||
|
echo >> customize.$$
|
||||||
|
|
||||||
|
mv customize.$$ customize
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/local/bin/perl -w
|
#!/usr/local/bin/perl -w
|
||||||
#
|
#
|
||||||
# $Id: cvsdiffmin,v 1.1 2000-02-08 16:13:55 hjp Exp $
|
# $Id: cvsdiffmin,v 1.2 2000-02-08 16:58:28 hjp Exp $
|
||||||
#
|
#
|
||||||
# cvsdiffmin - minimize output of cvs diff
|
# cvsdiffmin - minimize output of cvs diff
|
||||||
#
|
#
|
||||||
|
@ -19,33 +19,39 @@ my $count = 0;
|
||||||
local $| = 1;
|
local $| = 1;
|
||||||
|
|
||||||
while (<>) {
|
while (<>) {
|
||||||
print STDERR;
|
|
||||||
|
|
||||||
if ($state eq 'EQ' && /^\<{7} /) {
|
if ($state eq 'EQ' && /^\<{7} /) {
|
||||||
print STDERR "-> V1\n";
|
|
||||||
$state = 'V1';
|
$state = 'V1';
|
||||||
$text{$state} = "";
|
$text{$state} = "";
|
||||||
|
s/'/_/g;
|
||||||
$cap{$state} = $_;
|
$cap{$state} = $_;
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
if ($state eq 'V1' && /^\={7}$/) {
|
if ($state eq 'V1' && /^\={7}$/) {
|
||||||
print STDERR "-> V2\n";
|
|
||||||
$state = 'V2';
|
$state = 'V2';
|
||||||
$text{$state} = "";
|
$text{$state} = "";
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
if ($state eq 'V2' && /^\>{7} /) {
|
if ($state eq 'V2' && /^\>{7} /) {
|
||||||
|
s/'/_/g;
|
||||||
$cap{$state} = $_;
|
$cap{$state} = $_;
|
||||||
write_file("cvsdiffmin.$$.$count.1", $text{V1});
|
write_file("cvsdiffmin.$$.$count.1", $text{V1});
|
||||||
write_file("cvsdiffmin.$$.$count.2", $text{V2});
|
write_file("cvsdiffmin.$$.$count.2", $text{V2});
|
||||||
system ($diff,
|
open (DIFF,
|
||||||
"--unchanged-group-format=\%=\n",
|
"$diff " .
|
||||||
"--changed-group-format=${cap{V1}}\n\%<\n=======\n\%>\n${cap{V2}}\n",
|
" --unchanged-group-format='\%='" .
|
||||||
"cvsdiffmin.$$.$count.1",
|
" --changed-group-format='${cap{V1}}\%<=======\n\%>${cap{V2}}'" .
|
||||||
"cvsdiffmin.$$.$count.2");
|
" --old-group-format='${cap{V1}}\%<=======\n\%>${cap{V2}}'" .
|
||||||
|
" --new-group-format='${cap{V1}}\%<=======\n\%>${cap{V2}}'" .
|
||||||
|
" cvsdiffmin.$$.$count.1" .
|
||||||
|
" cvsdiffmin.$$.$count.2" .
|
||||||
|
"|") or die "cannot invoke diff: $!";
|
||||||
|
while (<DIFF>) {
|
||||||
|
print;
|
||||||
|
}
|
||||||
|
close(DIFF);
|
||||||
|
|
||||||
|
|
||||||
print STDERR "-> EQ\n";
|
|
||||||
$state = 'EQ';
|
$state = 'EQ';
|
||||||
$count++;
|
$count++;
|
||||||
next;
|
next;
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
#!@@@perl@@@ -w
|
||||||
|
#
|
||||||
|
# $Id: cvsdiffmin.pl,v 1.1 2000-02-08 16:58:28 hjp Exp $
|
||||||
|
#
|
||||||
|
# cvsdiffmin - minimize output of cvs diff
|
||||||
|
#
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
use File::Slurp;
|
||||||
|
|
||||||
|
my $diff = "@@@diff_format@@@";
|
||||||
|
|
||||||
|
my $state = 'EQ';
|
||||||
|
my %text = ();
|
||||||
|
my %cap = ();
|
||||||
|
my $count = 0;
|
||||||
|
|
||||||
|
local $| = 1;
|
||||||
|
|
||||||
|
while (<>) {
|
||||||
|
|
||||||
|
if ($state eq 'EQ' && /^\<{7} /) {
|
||||||
|
$state = 'V1';
|
||||||
|
$text{$state} = "";
|
||||||
|
s/'/_/g;
|
||||||
|
$cap{$state} = $_;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
if ($state eq 'V1' && /^\={7}$/) {
|
||||||
|
$state = 'V2';
|
||||||
|
$text{$state} = "";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
if ($state eq 'V2' && /^\>{7} /) {
|
||||||
|
s/'/_/g;
|
||||||
|
$cap{$state} = $_;
|
||||||
|
write_file("cvsdiffmin.$$.$count.1", $text{V1});
|
||||||
|
write_file("cvsdiffmin.$$.$count.2", $text{V2});
|
||||||
|
open (DIFF,
|
||||||
|
"$diff " .
|
||||||
|
" --unchanged-group-format='\%='" .
|
||||||
|
" --changed-group-format='${cap{V1}}\%<=======\n\%>${cap{V2}}'" .
|
||||||
|
" --old-group-format='${cap{V1}}\%<=======\n\%>${cap{V2}}'" .
|
||||||
|
" --new-group-format='${cap{V1}}\%<=======\n\%>${cap{V2}}'" .
|
||||||
|
" cvsdiffmin.$$.$count.1" .
|
||||||
|
" cvsdiffmin.$$.$count.2" .
|
||||||
|
"|") or die "cannot invoke diff: $!";
|
||||||
|
while (<DIFF>) {
|
||||||
|
print;
|
||||||
|
}
|
||||||
|
close(DIFF);
|
||||||
|
|
||||||
|
|
||||||
|
$state = 'EQ';
|
||||||
|
$count++;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
if ($state eq 'EQ') {
|
||||||
|
print;
|
||||||
|
} else {
|
||||||
|
$text{$state} .= $_;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
print "$state\n";
|
||||||
|
|
||||||
|
# vim:sw=4
|
Loading…
Reference in New Issue