Re: [PATCH] cvsserver: Fix handling of diappeared files on update
- From
Junio C Hamano <junkio@cox.net>
- Date
- Apr 11, 2007, 21:36 UTC
- Message-ID
- <7v1wiqoaph.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <11763238991005-git-send-email-frank@lichtenheld.de>
Frank Lichtenheld <frank@lichtenheld.de> writes:
Show 30 quoted lines
> 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>
> ---
> git-cvsserver.perl | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> We really, really need a test suite for cvsserver...
> I've tested this as good for regressions as I could
> think of but am still unsure about it.
>
> 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");
> --
> 1.5.1This would make the modified response go away, but would it cause a fresh re-checkout to happen?