From: Sergei Organov Date: Mon, 7 Dec 2009 11:11:44 +0000 (+0300) Subject: cvsserver: make the output of 'update' more compatible with cvs. X-Git-Tag: v1.7.0-rc0~125^2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=8e4c4e7dc322bf6a2cf468152ea71eff26ebc034;p=git.git cvsserver: make the output of 'update' more compatible with cvs. Native cvs update outputs the string "cvs update: Updating " for every directory it processes (to stderr) unless -q or -Q is given on comman-line. This is used, e.g., by emacs pcl-cvs to split files by directory. This commit implements this feature in cvsserver. Signed-off-by: Sergei Organov Acked-by: Martin Langhoff Signed-off-by: Junio C Hamano --- diff --git a/git-cvsserver.perl b/git-cvsserver.perl index 6dc45f5d4..15da2789e 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -981,6 +981,8 @@ sub req_update #$log->debug("update state : " . Dumper($state)); + my $last_dirname = "///"; + # foreach file specified on the command line ... foreach my $filename ( @{$state->{args}} ) { @@ -988,6 +990,20 @@ sub req_update $log->debug("Processing file $filename"); + unless ( $state->{globaloptions}{-Q} || $state->{globaloptions}{-q} ) + { + my $cur_dirname = dirname($filename); + if ( $cur_dirname ne $last_dirname ) + { + $last_dirname = $cur_dirname; + if ( $cur_dirname eq "" ) + { + $cur_dirname = "."; + } + print "E cvs update: Updating $cur_dirname\n"; + } + } + # if we have a -C we should pretend we never saw modified stuff if ( exists ( $state->{opt}{C} ) ) {