Skip to content

Commit 7172aab

Browse files
Martin LanghoffJunio C Hamano
authored andcommitted
cvsserver: Eclipse compat fixes - implement Questionable, alias rlog, add a space after the U
A few things to satisfy Eclipse's strange habits as a cvs client: - Implement Questionable - Aliased rlog to log, but more work may be needed - Add a space after the U that indicates updated
1 parent ee75d4c commit 7172aab

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

git-cvsserver.perl

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
'Entry' => \&req_Entry,
5454
'Modified' => \&req_Modified,
5555
'Unchanged' => \&req_Unchanged,
56+
'Questionable' => \&req_Questionable,
5657
'Argument' => \&req_Argument,
5758
'Argumentx' => \&req_Argument,
5859
'expand-modules' => \&req_expandmodules,
@@ -63,6 +64,7 @@
6364
'ci' => \&req_ci,
6465
'diff' => \&req_diff,
6566
'log' => \&req_log,
67+
'rlog' => \&req_log,
6668
'tag' => \&req_CATCHALL,
6769
'status' => \&req_status,
6870
'admin' => \&req_CATCHALL,
@@ -459,6 +461,22 @@ sub req_Unchanged
459461
#$log->debug("req_Unchanged : $data");
460462
}
461463

464+
# Questionable filename \n
465+
# Response expected: no. Additional data: no.
466+
# Tell the server to check whether filename should be ignored,
467+
# and if not, next time the server sends responses, send (in
468+
# a M response) `?' followed by the directory and filename.
469+
# filename must not contain `/'; it needs to be a file in the
470+
# directory named by the most recent Directory request.
471+
sub req_Questionable
472+
{
473+
my ( $cmd, $data ) = @_;
474+
475+
$state->{entries}{$state->{directory}.$data}{questionable} = 1;
476+
477+
#$log->debug("req_Questionable : $data");
478+
}
479+
462480
# Argument text \n
463481
# Response expected: no. Save argument for use in a subsequent command.
464482
# Arguments accumulate until an argument-using command is given, at which
@@ -568,7 +586,7 @@ sub req_co
568586

569587
# print some information to the client
570588
print "MT +updated\n";
571-
print "MT text U\n";
589+
print "MT text U \n";
572590
if ( defined ( $git->{dir} ) and $git->{dir} ne "./" )
573591
{
574592
print "MT fname $checkout_path/$git->{dir}$git->{name}\n";
@@ -579,9 +597,9 @@ sub req_co
579597
print "MT -updated\n";
580598

581599
# instruct client we're sending a file to put in this path
582-
print "Created $checkout_path/" . ( defined ( $git->{dir} ) ? $git->{dir} . "/" : "" ) . "\n";
600+
print "Created $checkout_path/" . ( defined ( $git->{dir} ) and $git->{dir} ne "./" ? $git->{dir} . "/" : "" ) . "\n";
583601

584-
print $state->{CVSROOT} . "/$module/" . ( defined ( $git->{dir} ) ? $git->{dir} . "/" : "" ) . "$git->{name}\n";
602+
print $state->{CVSROOT} . "/$module/" . ( defined ( $git->{dir} ) and $git->{dir} ne "./" ? $git->{dir} . "/" : "" ) . "$git->{name}\n";
585603

586604
# this is an "entries" line
587605
print "/$git->{name}/1.$git->{revision}///\n";

0 commit comments

Comments
 (0)