Author: sparky                       Date: Thu Nov 23 03:58:57 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- readd comments in hunk headers like:
  @@ -2241,6 +2243,7 @@ void some_function_name(void)

---- Files affected:
SOURCES:
   patch_minimizer (1.2 -> 1.3) 

---- Diffs:

================================================================
Index: SOURCES/patch_minimizer
diff -u SOURCES/patch_minimizer:1.2 SOURCES/patch_minimizer:1.3
--- SOURCES/patch_minimizer:1.2 Thu Nov 23 04:26:44 2006
+++ SOURCES/patch_minimizer     Thu Nov 23 04:58:51 2006
@@ -59,7 +59,7 @@
 sub get_files($) {
        my ($file) = @_;
        open CVS_IN, "-|", (@cvs_cmd, @branch, $file);
-       my @old_files = grep /^(\+\+\+|---) /, <CVS_IN>;
+       my @old_files = grep /^(\+\+\+|---|@@) /, <CVS_IN>;
        close CVS_IN;
        my @ret;
        
@@ -68,7 +68,9 @@
                redo unless ($f1 =~ /^-/ and $old_files[0] =~ /^\+/);
                my $f2 = shift @old_files;
                my $common = find_file_common( $f1, $f2 );
-               push @ret, [$common, $f1, $f2];
+               my @hunk_desc;
+               push @hunk_desc, shift @old_files while (defined $old_files[0] 
and $old_files[0] =~ /^@/);
+               push @ret, [$common, $f1, $f2, @hunk_desc];
        }
        
        return [EMAIL PROTECTED];
@@ -126,6 +128,32 @@
        return [EMAIL PROTECTED]
 }
 
+sub readd_comments($$) {
+       my ($newhunk, $oldhunk) = @_;
+       my @newhunk = @{$newhunk};
+       my @oldhunk = @{$oldhunk};
+       shift @newhunk;
+       shift @newhunk;
+       shift @newhunk;
+       shift @oldhunk;
+       shift @oldhunk;
+       shift @oldhunk;
+       my $ret = "";
+       
+       my %oldhunk = map { /^(@@.*?@@)(.*)$/ } @oldhunk;
+
+       while (my $l = shift @newhunk) {
+               if ($l =~ /^(@@.*?@@)/) {
+                       my $h = $1;
+                       if (exists $oldhunk{$h}) {
+                               $l = $h.$oldhunk{$h}."\n";
+                       }
+               }
+               $ret .= $l;
+       }
+       return $ret;
+}
+
 sub sort_hunks($$) {
        my ($new, $old_files) = @_;
        my $diff;
@@ -141,10 +169,7 @@
                $diff .= "$oldhunk->[1]";
                $diff .= "$oldhunk->[2]";
                
-               shift @{$newhunk};
-               shift @{$newhunk};
-               shift @{$newhunk};
-               $diff .= "@{$newhunk}";
+               $diff .= readd_comments($newhunk, $oldhunk);
                delete $new_hash{$f};
        }
        
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/patch_minimizer?r1=1.2&r2=1.3&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to