Re: [PATCH] cvsserver: Fix handling of diappeared files on update
- From
Daniel Barkalow <barkalow@iabervon.org>
- Date
- Apr 11, 2007, 21:39 UTC
- Message-ID
- <Pine.LNX.4.64.0704111737180.27922@iabervon.org>
- In-Reply-To
- <7v1wiqoaph.fsf@assigned-by-dhcp.cox.net>
On Wed, 11 Apr 2007, Junio C Hamano wrote:
Show 35 quoted lines
> Frank Lichtenheld <frank@lichtenheld.de> writes:
>
> > 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.1
>
> This would make the modified response go away, but would it
> cause a fresh re-checkout to happen?It falls through into the appropriate case, evidently. At least, it seems to resolve my issue.
-Daniel *This .sig left intentionally blank*