]> granicus.if.org Git - docbook-dsssl/commitdiff
Fix bug where some changes were improperly attributed
authorNorman Walsh <ndw@nwalsh.com>
Thu, 14 Mar 2002 14:57:34 +0000 (14:57 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Thu, 14 Mar 2002 14:57:34 +0000 (14:57 +0000)
cvstools/cvs2log

index 4b1cc8553c81e687fc6dd64d3ae64d0e060db384..aff801760ff370aba4a75fbde9de1ce0d1689ba5 100755 (executable)
@@ -67,7 +67,6 @@ foreach $dir (sort keys %{$log}) {
 
     $cutoff = $opt_c || "0000-00-00";
     if ($opt_w) {
-#      print "Writing $cl\n";
        open (F, ">$cl");
     } else {
        print "Would have written $cl\n";
@@ -82,12 +81,19 @@ foreach $dir (sort keys %{$log}) {
 
        $msgs = {};
        $author = "";
+       $lastauthor = "";
 
        foreach $file (sort keys %{$log->{$dir}->{$date}}) {
            foreach $rev (sort keys %{$log->{$dir}->{$date}->{$file}}) {
                $logmsg = $log->{$dir}->{$date}->{$file}->{$rev}->{'logmsg'};
                $author = $log->{$dir}->{$date}->{$file}->{$rev}->{'author'};
 
+               if ($author ne $lastauthor && $lastauthor ne '') {
+                   &show_messages($date, $lastauthor, $msgs);
+                   $msgs = {};
+               }
+
+               $lastauthor = $author;
 
                if (exists $msgs->{$logmsg}) {
                    $msgsnew->{$logmsg} = $msgsnew->{$logmsg}
@@ -101,21 +107,29 @@ foreach $dir (sort keys %{$log}) {
            }
        }
 
-       print F "$date  ", $authorName{$author}, "<$author\@users.sourceforge.net>\n\n";
+       &show_messages($date, $author, $msgs);
+    }
+    close (F);
+}
 
-       foreach $msg (sort fnsort keys %{$msgs}) {
-           $files = $msgs->{$msg};
-           print F "\t* $files: ";
-           print F "\n\t" if (length($files) > 50);
+sub show_messages {
+    my $date = shift;
+    my $author = shift;
+    my $msgs = shift;
 
-           if ($msgsnew->{$msg}) {
-               print F "New file.\n\n";
-           } else {
-               print F "$msg\n";
-           }
+    print F "$date  ", $authorName{$author}, "<$author\@users.sourceforge.net>\n\n";
+
+    foreach $msg (sort fnsort keys %{$msgs}) {
+       $files = $msgs->{$msg};
+       print F "\t* $files: ";
+       print F "\n\t" if (length($files) > 50);
+
+       if ($msgsnew->{$msg}) {
+           print F "New file.\n\n";
+       } else {
+           print F "$msg\n";
        }
     }
-    close (F);
 }
 
 sub fnsort {