summaryrefslogtreecommitdiff
path: root/Porting/p4d2p
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2002-05-06 12:12:59 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2002-05-06 12:12:59 +0000
commita2c6387bcf04cf5542d4fb14b9aa2a097a31350e (patch)
tree2fbb61a37c3be242d089aaa50f132e11765ecda6 /Porting/p4d2p
parent0dfa9f3773ecb4814239b03fbd8b84e449a97c6b (diff)
downloadperl-a2c6387bcf04cf5542d4fb14b9aa2a097a31350e.tar.gz
Ultimate discouragement for the old tools, from Andreas.
p4raw-id: //depot/perl@16428
Diffstat (limited to 'Porting/p4d2p')
-rwxr-xr-xPorting/p4d2p84
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;