summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Lichtenheld <frank@lichtenheld.de>2007-04-11 20:38:19 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-04-11 23:55:33 (GMT)
commitcb52d9a1fbb2298d73bfa5dc86a0155cc462ecf2 (patch)
tree5b5c6819d38ec0587a8dda0ea1eece3083681430
parent8eb2d0bee8813ac37dc602d12b0abba632e96152 (diff)
downloadgit-cb52d9a1fbb2298d73bfa5dc86a0155cc462ecf2.zip
git-cb52d9a1fbb2298d73bfa5dc86a0155cc462ecf2.tar.gz
git-cb52d9a1fbb2298d73bfa5dc86a0155cc462ecf2.tar.bz2
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>
-rwxr-xr-xgit-cvsserver.perl1
1 files changed, 1 insertions, 0 deletions
diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index 68aa752..25816c5 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");