fix bug in backtracking optimizer (from Makoto Ishisone
[p5sagit/p5-mst-13.2.git] / Porting / p4desc
index 7bac3eb..0bf79da 100755 (executable)
@@ -3,7 +3,7 @@
 #
 # Munge "p4 describe ..." output to include new files.
 #
-# Gurusamy Sarathy <gsar@umich.edu>
+# Gurusamy Sarathy <gsar@activestate.com>
 #
 
 use vars qw($thisfile $change $file $fnum $h $v $p4port @addfiles);
@@ -65,7 +65,7 @@ my $cur = m|^Affected files| ... m|^Differences|;
 
 # while we are within range
 if ($cur) {
-    if (m|^\.\.\. (//depot/.+?#\d+) add$|) {
+    if (m{^\.\.\. (//depot/.+?#\d+) (add|branch)$}) {
        my $newfile = $1;
        push @addfiles, $newfile;
        warn "$newfile add, revision != 1!\n" unless $newfile =~ /#1$/;
@@ -90,9 +90,9 @@ sub newfiles {
     my $addfile;
     my $ret = "";
     for $addfile (@addfiles) {
-       my $type = `p4 -p $p4port files $addfile`;
+       my $type = `p4 -p $p4port files '$addfile'`;
        if ($?) {
-           warn "$0: `p4 -p $p4port print $addfile` failed, status[$?]\n";
+           warn "$0: `p4 -p $p4port print '$addfile'` failed, status[$?]\n";
            next;
        }
        $type =~ m|^//.*\((.+)\)$| or next;
@@ -101,9 +101,9 @@ sub newfiles {
            $ret .= "\n==== $addfile ($type) ====\n\n";
            next;
        }
-       my @new = `p4 -p $p4port print $addfile`;
+       my @new = `p4 -p $p4port print '$addfile'`;
        if ($?) {
-           die "$0: `p4 -p $p4port print $addfile` failed, status[$?]\n";
+           die "$0: `p4 -p $p4port print '$addfile'` failed, status[$?]\n";
        }
        my $desc = shift @new;          # discard initial description
        $ret .= "\n==== $addfile ($type) ====\n\n";
@@ -111,6 +111,7 @@ sub newfiles {
        $lines = "" if @new < 2;
        $ret .= "\@\@ -0,0 +1$lines \@\@\n";
        $ret .= join("+","",@new);
+       $ret .= "\n\\ No newline at end of file\n" if $ret !~ /\n$/;
     }
     @addfiles = ();
     return $ret;