Skip to content

Commit

Permalink
cvsserver: Eclipse compat fixes - implement Questionable, alias rlog,…
Browse files Browse the repository at this point in the history
… 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
  • Loading branch information
Martin Langhoff authored and Junio C Hamano committed Mar 1, 2006
1 parent ee75d4c commit 7172aab
Showing 1 changed file with 21 additions and 3 deletions.
24 changes: 21 additions & 3 deletions git-cvsserver.perl
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
'Entry' => \&req_Entry,
'Modified' => \&req_Modified,
'Unchanged' => \&req_Unchanged,
'Questionable' => \&req_Questionable,
'Argument' => \&req_Argument,
'Argumentx' => \&req_Argument,
'expand-modules' => \&req_expandmodules,
Expand All @@ -63,6 +64,7 @@
'ci' => \&req_ci,
'diff' => \&req_diff,
'log' => \&req_log,
'rlog' => \&req_log,
'tag' => \&req_CATCHALL,
'status' => \&req_status,
'admin' => \&req_CATCHALL,
Expand Down Expand Up @@ -459,6 +461,22 @@ sub req_Unchanged
#$log->debug("req_Unchanged : $data");
}

# Questionable filename \n
# Response expected: no. Additional data: no.
# Tell the server to check whether filename should be ignored,
# and if not, next time the server sends responses, send (in
# a M response) `?' followed by the directory and filename.
# filename must not contain `/'; it needs to be a file in the
# directory named by the most recent Directory request.
sub req_Questionable
{
my ( $cmd, $data ) = @_;

$state->{entries}{$state->{directory}.$data}{questionable} = 1;

#$log->debug("req_Questionable : $data");
}

# Argument text \n
# Response expected: no. Save argument for use in a subsequent command.
# Arguments accumulate until an argument-using command is given, at which
Expand Down Expand Up @@ -568,7 +586,7 @@ sub req_co

# print some information to the client
print "MT +updated\n";
print "MT text U\n";
print "MT text U \n";
if ( defined ( $git->{dir} ) and $git->{dir} ne "./" )
{
print "MT fname $checkout_path/$git->{dir}$git->{name}\n";
Expand All @@ -579,9 +597,9 @@ sub req_co
print "MT -updated\n";

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

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

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

0 comments on commit 7172aab

Please sign in to comment.