diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-06 12:12:59 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-06 12:12:59 +0000 |
commit | a2c6387bcf04cf5542d4fb14b9aa2a097a31350e (patch) | |
tree | 2fbb61a37c3be242d089aaa50f132e11765ecda6 /Porting/p4d2p | |
parent | 0dfa9f3773ecb4814239b03fbd8b84e449a97c6b (diff) | |
download | perl-a2c6387bcf04cf5542d4fb14b9aa2a097a31350e.tar.gz |
Ultimate discouragement for the old tools, from Andreas.
p4raw-id: //depot/perl@16428
Diffstat (limited to 'Porting/p4d2p')
-rwxr-xr-x | Porting/p4d2p | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/Porting/p4d2p b/Porting/p4d2p deleted file mode 100755 index f645ef807e..0000000000 --- a/Porting/p4d2p +++ /dev/null @@ -1,84 +0,0 @@ -#!/l/local/bin/perl -wspi.bak - -# -# reads a perforce style diff on stdin and outputs appropriate headers -# so the diff can be applied with the patch program -# -# Gurusamy Sarathy <gsar@activestate.com> -# - -BEGIN { - $0 =~ s|.*/||; - if ($h or $help) { - print STDERR <<USAGE; -Usage: $0 [-v] [-h] files - - -h print this help - -v output progress messages - -Does inplace edit of diff files output by the perforce commands -"p4 describe", "p4 diff", and "p4 diff2". The result is suitable -for feeding to the "patch" program. - -If no files are specified, reads from stdin and writes to stdout. - -WARNING: It only handles context or unified diffs. - -Example: p4 describe -du 123 | $0 > change-123.patch - -USAGE - exit(0); - } - unless (@ARGV) { @ARGV = '-'; undef $^I; } - use vars qw($thisfile $time $file $fnum $v $h $help); - $thisfile = ""; - $time = localtime(time); -} - -my ($cur, $match); -$cur = m<^==== //depot/(.+?)\#\d+.* ====$> ... m<^(\@\@.+\@\@|\*+)$>; - -$match = $1; - -if ($ARGV ne $thisfile) { - warn "processing patchfile [$ARGV]\n" unless $ARGV eq '-'; - $thisfile = $ARGV; -} - -# while we are within range -if ($cur) { - # set the file name after first line - if ($cur == 1) { - $file = $match; - $fnum++; - } - # emit the diff header when we hit last line - elsif ($cur =~ /E0$/) { - my $f = $file; - - # special hack for perl so we can always use "patch -p1" - $f =~ s<^.*?(perl.*?/)><$1>; - - # unified diff - if ($match =~ /^\@/) { - warn "emitting udiff header\n" if $v; - $_ = "Index: $f\n--- $f.~1~\t$time\n+++ $f\t$time\n$_"; - } - # context diff - elsif ($match =~ /^\*/) { - warn "emitting cdiff header\n" if $v; - $_ = "Index: $f\n*** $f.~1~\t$time\n--- $f\t$time\n$_"; - } - } - # see if we hit another patch (i.e. previous patch was empty) - elsif (m<^==== //depot/(.+?)\#\d+.* ====$>) { - $file = $match = $1; - } - # suppress all other lines in the header - else { - $_ = ""; - } - warn "file [$file] line [$cur] file# [$fnum]\n" if $v; -} - -$_ .= "End of Patch.\n" if eof; |