[PATCH v2] cvsserver: make the output of 'update' more compatible with cvs.
- From
- Sergei Organov <osv@javad.com>
- Date
- Dec 7, 2009, 11:11 UTC
- Message-ID
- <87bpibdonj.fsf@osv.gnss.ru>
- In-Reply-To
- <87zl5z4y0w.fsf@osv.gnss.ru>
Native cvs update outputs the string "cvs update: Updating <DIR>" 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 <osv@javad.com> --- git-cvsserver.perl | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/git-cvsserver.perl b/git-cvsserver.perl index 6dc45f5..f4c75bb 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} ) ) {
-- 1.6.6.rc0.67.gc0456.dirty