Skip to content

Commit

Permalink
Merge branch 'ml/cvsserver' into next
Browse files Browse the repository at this point in the history
* ml/cvsserver:
  cvsserver: Eclipse compat -- now "compare with latest from HEAD" works
  • Loading branch information
Junio C Hamano committed Mar 2, 2006
2 parents b485db9 + ec58db1 commit 0c1fc94
Showing 1 changed file with 24 additions and 3 deletions.
27 changes: 24 additions & 3 deletions git-cvsserver.perl
Original file line number Diff line number Diff line change
Expand Up @@ -714,8 +714,27 @@ sub req_update

#$log->debug("Target revision is $meta->{revision}, current working revision is $wrev");

# Files are up to date if the working copy and repo copy have the same revision, and the working copy is unmodified _and_ the user hasn't specified -C
next if ( defined ( $wrev ) and defined($meta->{revision}) and $wrev == $meta->{revision} and $state->{entries}{$filename}{unchanged} and not exists ( $state->{opt}{C} ) );
# Files are up to date if the working copy and repo copy have the same revision,
# and the working copy is unmodified _and_ the user hasn't specified -C
next if ( defined ( $wrev )
and defined($meta->{revision})
and $wrev == $meta->{revision}
and $state->{entries}{$filename}{unchanged}
and not exists ( $state->{opt}{C} ) );

# If the working copy and repo copy have the same revision,
# but the working copy is modified, tell the client it's modified
if ( defined ( $wrev )
and defined($meta->{revision})
and $wrev == $meta->{revision}
and not exists ( $state->{opt}{C} ) )
{
$log->info("Tell the client the file is modified");
print "MT text U\n";
print "MT fname $filename\n";
print "MT newline\n";
next;
}

if ( $meta->{filehash} eq "deleted" )
{
Expand All @@ -727,7 +746,8 @@ sub req_update
print "Removed $dirpart\n";
print "$filepart\n";
}
elsif ( not defined ( $state->{entries}{$filename}{modified_hash} ) or $state->{entries}{$filename}{modified_hash} eq $oldmeta->{filehash} )
elsif ( not defined ( $state->{entries}{$filename}{modified_hash} )
or $state->{entries}{$filename}{modified_hash} eq $oldmeta->{filehash} )
{
$log->info("Updating '$filename'");
# normal update, just send the new revision (either U=Update, or A=Add, or R=Remove)
Expand Down Expand Up @@ -763,6 +783,7 @@ sub req_update
# transmit file
transmitfile($meta->{filehash});
} else {
$log->info("Updating '$filename'");
my ( $filepart, $dirpart ) = filenamesplit($meta->{name});

my $dir = tempdir( DIR => $TEMP_DIR, CLEANUP => 1 ) . "/";
Expand Down

0 comments on commit 0c1fc94

Please sign in to comment.