{"thread":{"id":"7236","subject":"[PATCH] cvsserver: further improve messages on commit and status","startedAt":"2007-03-13T17:25:22Z","lastAt":"2007-03-13T17:25:23Z","messageCount":2,"participants":["Frank Lichtenheld"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"37018","messageId":"11738067233199-git-send-email-frank@lichtenheld.de","threadId":"7236","inReplyTo":null,"subject":"[PATCH] cvsserver: Be more chatty","fromName":"Frank Lichtenheld","fromEmail":"frank@lichtenheld.de","sentAt":"2007-03-13T17:25:22Z","receivedAt":"2007-03-13T17:25:22Z","isPatch":true,"sender":{"key":"frank@lichtenheld.de","avatar":"https://gravatar.com/avatar/b9f1d4b120e138f157c9e480d0818197c474628923786adb98f30017cdb99c3c?d=mp&s=160"},"body":"Submit some additional messages to the client on commit and update.\nInspired by the standard CVS server though a little more terse.\n\nSigned-off-by: Frank Lichtenheld <frank@lichtenheld.de>\n---\n git-cvsserver.perl |    8 ++++++++\n 1 files changed, 8 insertions(+), 0 deletions(-)\n\ndiff --git a/git-cvsserver.perl b/git-cvsserver.perl\nindex 65fcc84..f21f2f1 100755\n--- a/git-cvsserver.perl\n+++ b/git-cvsserver.perl\n@@ -947,6 +947,7 @@ sub req_update\n \n             # we need to merge with the local changes ( M=successful merge, C=conflict merge )\n             $log->info(\"Merging $file_local, $file_old, $file_new\");\n+            print \"M Merging differences between 1.$oldmeta->{revision} and 1.$meta->{revision} into $filename\\n\";\n \n             $log->debug(\"Temporary directory for merge is $dir\");\n \n@@ -973,6 +974,7 @@ sub req_update\n             elsif ( $return == 1 )\n             {\n                 $log->info(\"Merged with conflicts\");\n+                print \"E cvs update: conflicts found in $filename\\n\";\n                 print \"M C $filename\\n\";\n \n                 # Don't want to actually _DO_ the update if -n specified\n@@ -1207,9 +1209,15 @@ sub req_ci\n \n         if ( defined $meta->{filehash} && $meta->{filehash} eq \"deleted\" )\n         {\n+            print \"M new revision: delete\\n\";\n             print \"Remove-entry $dirpart\\n\";\n             print \"$filename\\n\";\n         } else {\n+            if ($meta->{revision} == 1) {\n+\t        print \"M initial revision: 1.1\\n\";\n+            } else {\n+\t        print \"M new revision: 1.$meta->{revision}\\n\";\n+            }\n             print \"Checked-in $dirpart\\n\";\n             print \"$filename\\n\";\n             my $kopts = kopts_from_path($filepart);\n-- \n1.5.0.3\n"},{"id":"37016","messageId":"11738067231730-git-send-email-frank@lichtenheld.de","threadId":"7236","inReplyTo":"11738067233199-git-send-email-frank@lichtenheld.de","subject":"[PATCH] cvsserver: further improve messages on commit and status","fromName":"Frank Lichtenheld","fromEmail":"frank@lichtenheld.de","sentAt":"2007-03-13T17:25:23Z","receivedAt":"2007-03-13T17:25:23Z","isPatch":true,"sender":{"key":"frank@lichtenheld.de","avatar":"https://gravatar.com/avatar/b9f1d4b120e138f157c9e480d0818197c474628923786adb98f30017cdb99c3c?d=mp&s=160"},"body":"commit: Also print the old revision similar to how cvs does it and\nprepend a line stating the filename so that one can actually\nunderstand what happened when commiting more than one file.\n\nstatus: Fix the RCS filename displayed. The directory was\nprinted twice.\n\nSigned-off-by: Frank Lichtenheld <frank@lichtenheld.de>\n---\n git-cvsserver.perl |    9 ++++++---\n 1 files changed, 6 insertions(+), 3 deletions(-)\n\ndiff --git a/git-cvsserver.perl b/git-cvsserver.perl\nindex f21f2f1..68aa752 100755\n--- a/git-cvsserver.perl\n+++ b/git-cvsserver.perl\n@@ -1069,6 +1069,7 @@ sub req_ci\n     $log->info(\"Created index '$file_index' with for head $state->{module} - exit status $?\");\n \n     my @committedfiles = ();\n+    my %oldmeta;\n \n     # foreach file specified on the command line ...\n     foreach my $filename ( @{$state->{args}} )\n@@ -1079,6 +1080,7 @@ sub req_ci\n         next unless ( exists $state->{entries}{$filename}{modified_filename} or not $state->{entries}{$filename}{unchanged} );\n \n         my $meta = $updater->getmeta($filename);\n+\t$oldmeta{$filename} = $meta;\n \n         my $wrev = revparse($filename);\n \n@@ -1207,16 +1209,17 @@ sub req_ci\n \n         $log->debug(\"Checked-in $dirpart : $filename\");\n \n+\tprint \"M $state->{CVSROOT}/$state->{module}/$filename,v  <--  $dirpart$filepart\\n\";\n         if ( defined $meta->{filehash} && $meta->{filehash} eq \"deleted\" )\n         {\n-            print \"M new revision: delete\\n\";\n+            print \"M new revision: delete; previous revision: 1.$oldmeta{$filename}{revision}\\n\";\n             print \"Remove-entry $dirpart\\n\";\n             print \"$filename\\n\";\n         } else {\n             if ($meta->{revision} == 1) {\n \t        print \"M initial revision: 1.1\\n\";\n             } else {\n-\t        print \"M new revision: 1.$meta->{revision}\\n\";\n+\t        print \"M new revision: 1.$meta->{revision}; previous revision: 1.$oldmeta{$filename}{revision}\\n\";\n             }\n             print \"Checked-in $dirpart\\n\";\n             print \"$filename\\n\";\n@@ -1303,7 +1306,7 @@ sub req_status\n         }\n         if ( defined($meta->{revision}) )\n         {\n-            print \"M Repository revision:\\t1.\" . $meta->{revision} . \"\\t$state->{repository}/$filename,v\\n\";\n+            print \"M Repository revision:\\t1.\" . $meta->{revision} . \"\\t$state->{CVSROOT}/$state->{module}/$filename,v\\n\";\n             print \"M Sticky Tag:\\t\\t(none)\\n\";\n             print \"M Sticky Date:\\t\\t(none)\\n\";\n             print \"M Sticky Options:\\t\\t(none)\\n\";\n-- \n1.5.0.3\n"}]}