From 459bad77e72122f200314a4b0a059a845e0072b3 Mon Sep 17 00:00:00 2001 From: Frank Lichtenheld Date: Tue, 13 Mar 2007 18:25:22 +0100 Subject: [PATCH 1/2] cvsserver: Be more chatty Submit some additional messages to the client on commit and update. Inspired by the standard CVS server though a little more terse. Signed-off-by: Frank Lichtenheld Signed-off-by: Junio C Hamano --- git-cvsserver.perl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/git-cvsserver.perl b/git-cvsserver.perl index 65fcc8404..f21f2f121 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -947,6 +947,7 @@ sub req_update # we need to merge with the local changes ( M=successful merge, C=conflict merge ) $log->info("Merging $file_local, $file_old, $file_new"); + print "M Merging differences between 1.$oldmeta->{revision} and 1.$meta->{revision} into $filename\n"; $log->debug("Temporary directory for merge is $dir"); @@ -973,6 +974,7 @@ sub req_update elsif ( $return == 1 ) { $log->info("Merged with conflicts"); + print "E cvs update: conflicts found in $filename\n"; print "M C $filename\n"; # Don't want to actually _DO_ the update if -n specified @@ -1207,9 +1209,15 @@ sub req_ci if ( defined $meta->{filehash} && $meta->{filehash} eq "deleted" ) { + print "M new revision: delete\n"; print "Remove-entry $dirpart\n"; print "$filename\n"; } else { + if ($meta->{revision} == 1) { + print "M initial revision: 1.1\n"; + } else { + print "M new revision: 1.$meta->{revision}\n"; + } print "Checked-in $dirpart\n"; print "$filename\n"; my $kopts = kopts_from_path($filepart); From 392e28170bcd2dec93ed629e7f8b2c22c560bf34 Mon Sep 17 00:00:00 2001 From: Frank Lichtenheld Date: Tue, 13 Mar 2007 18:25:23 +0100 Subject: [PATCH 2/2] cvsserver: further improve messages on commit and status commit: Also print the old revision similar to how cvs does it and prepend a line stating the filename so that one can actually understand what happened when commiting more than one file. status: Fix the RCS filename displayed. The directory was printed twice. Signed-off-by: Frank Lichtenheld Signed-off-by: Junio C Hamano --- git-cvsserver.perl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/git-cvsserver.perl b/git-cvsserver.perl index f21f2f121..68aa75255 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -1069,6 +1069,7 @@ sub req_ci $log->info("Created index '$file_index' with for head $state->{module} - exit status $?"); my @committedfiles = (); + my %oldmeta; # foreach file specified on the command line ... foreach my $filename ( @{$state->{args}} ) @@ -1079,6 +1080,7 @@ sub req_ci next unless ( exists $state->{entries}{$filename}{modified_filename} or not $state->{entries}{$filename}{unchanged} ); my $meta = $updater->getmeta($filename); + $oldmeta{$filename} = $meta; my $wrev = revparse($filename); @@ -1207,16 +1209,17 @@ sub req_ci $log->debug("Checked-in $dirpart : $filename"); + print "M $state->{CVSROOT}/$state->{module}/$filename,v <-- $dirpart$filepart\n"; if ( defined $meta->{filehash} && $meta->{filehash} eq "deleted" ) { - print "M new revision: delete\n"; + print "M new revision: delete; previous revision: 1.$oldmeta{$filename}{revision}\n"; print "Remove-entry $dirpart\n"; print "$filename\n"; } else { if ($meta->{revision} == 1) { print "M initial revision: 1.1\n"; } else { - print "M new revision: 1.$meta->{revision}\n"; + print "M new revision: 1.$meta->{revision}; previous revision: 1.$oldmeta{$filename}{revision}\n"; } print "Checked-in $dirpart\n"; print "$filename\n"; @@ -1303,7 +1306,7 @@ sub req_status } if ( defined($meta->{revision}) ) { - print "M Repository revision:\t1." . $meta->{revision} . "\t$state->{repository}/$filename,v\n"; + print "M Repository revision:\t1." . $meta->{revision} . "\t$state->{CVSROOT}/$state->{module}/$filename,v\n"; print "M Sticky Tag:\t\t(none)\n"; print "M Sticky Date:\t\t(none)\n"; print "M Sticky Options:\t\t(none)\n";