aboutsummaryrefslogtreecommitdiffstats
path: root/git-cvsserver.perl
diff options
context:
space:
mode:
authorFrank Lichtenheld <frank@lichtenheld.de>2007-04-11 22:38:19 +0200
committerJunio C Hamano <junkio@cox.net>2007-04-11 16:55:33 -0700
commitcb52d9a1fbb2298d73bfa5dc86a0155cc462ecf2 (patch)
tree5b5c6819d38ec0587a8dda0ea1eece3083681430 /git-cvsserver.perl
parent8eb2d0bee8813ac37dc602d12b0abba632e96152 (diff)
downloadgit-cb52d9a1fbb2298d73bfa5dc86a0155cc462ecf2.tar.gz
cvsserver: Fix handling of diappeared files on update
Only send a modified response if the client sent a "Modified" entry. This fixes the case where the file was locally deleted on the client without being removed from CVS. In this case the client will only have sent the Entry for the file but nothing else. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Acked-by: Martin Langhoff <martin@catalyst.net.nz> Acked-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-cvsserver.perl')
-rwxr-xr-xgit-cvsserver.perl1
1 files changed, 1 insertions, 0 deletions
diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index 68aa75255e..25816c5a21 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -843,6 +843,7 @@ sub req_update
if ( defined ( $wrev )
and defined($meta->{revision})
and $wrev == $meta->{revision}
+ and defined($state->{entries}{$filename}{modified_hash})
and not exists ( $state->{opt}{C} ) )
{
$log->info("Tell the client the file is modified");