From cb52d9a1fbb2298d73bfa5dc86a0155cc462ecf2 Mon Sep 17 00:00:00 2001
From: Frank Lichtenheld <frank@lichtenheld.de>
Date: Wed, 11 Apr 2007 22:38:19 +0200
Subject: [PATCH] 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>
---
 git-cvsserver.perl | 1 +
 1 file changed, 1 insertion(+)

diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index 68aa75255..25816c5a2 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");
-- 
2.26.2