[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: client protocol not responding to repeated checkout request

From: Alexander Taler
Subject: Re: client protocol not responding to repeated checkout request
Date: Sun, 08 Jun 2003 16:19:26 -0400

>>>>> "Larry" == Larry Jones <lawrence.jones@eds.com> writes:
  Larry> Alexander Taler writes:
  >> I'm working on a Perl library to provide access to CVS via the cvsclient
  >> protocol.  I'm now optimizing it to use the same connection to the cvs
  >> server for many requests.  As warned in the docs, I've discovered a case
  >> where multiple commands don't work as expected.  If I checkout (or update)
  >> a specific revision of a file twice, it doesn't return the contents the
  >> second time.  Is this a bug?

  Larry> No, it's expected behavior.  Once you've checked the file out (or
  Larry> updated it), you already have the correct revision of the file, so
  Larry> doing the same command a second time doesn't do anything.  Exactly the
  Larry> same thing happens if you send the commands using separate
  Larry> connections.

It's not quite the same if I send the commands using separate
connections.  I'm not sending any Entry, Modified, Is-modified,
Unchanged or Questionable requests, so the server has no idea
what my local state is.  I guess what this means is that the
server detects that there is no change from the last
update/checkout that it gave me, so no need to resend.

I should say that I'm not using the protocol in the way it was
designed to be used, so I should expect to have these sorts of
problems.  I'm providing an API which allows querying of the
objects in a repository and a sandbox, while the protocol feels
more like a synchronizing protocol, with much of the smarts on
the server side.

I have modified my code to work around this (by adding caching),
and since I want to work with many versions of CVS, I'm not
clamouring for anything to change.  Probably the CVS client uses
this behaviour to save itself extra work, right?


http://libcvs.cvshome.org/    Access CVS through a library. 
PGP:  ID: 0x23DC453B  FPR: 42D0 66C2 9FF8 553A 373A  B819 4C34 93BA 23DC 453B
"Fido Bakin is my name."
       -- The Two Towers, Malaysian edition

reply via email to

[Prev in Thread] Current Thread [Next in Thread]