git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] git-cvsserver: handle CVS 'noop' command.

From
Stefan Karpinski <stefan.karpinski@gmail.com>
Date
Jan 30, 2009, 01:12 UTC
Message-ID
<1233277947-17175-1-git-send-email-stefan.karpinski@gmail.com>
In-Reply-To
<7vhc3hd6ba.fsf@gitster.siamese.dyndns.org>
The CVS protocol documentation, found at
  http://www.wandisco.com/techpubs/cvs-protocol.pdf
states the following about the 'noop' command:
  Response expected: yes. This request is a null command
  in the sense that it doesn't do anything, but merely
  (as with any other requests expecting a response) sends
  back any responses pertaining to pending errors, pending
  Notified responses, etc.

In accordance with this, the correct way to handle the 'noop' command, when issued by a client, is to call req_EMPTY.

The 'noop' command is called by some CVS clients, notably TortoiseCVS, thus making it desirable for git-cvsserver to respond to the command rather than choking on it as unknown.

Signed-off-by: Stefan Karpinski <stefan.karpinski@gmail.com>
---
On Thu, Jan 29, 2009 at 3:46 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 9 quoted lines
>
> Because the issue currently has our attention, and we think we know that
> the code does not do the right thing currently, and that we are fairly
> sure that the right thing is to do req_EMPTY, I'd rather see a tested fix
> applied so that we can forget about it ;-)
>
> It's good that you moved your people to native git environment, but if you
> have an environment where you can test the fix still lying around, I'd
> appreciate a quick test and resubmit.

I've done the best testing I could do under the circumstances. What that means is that the only windows machine I have access to test this on right now is running Vista, which is only partially (read poorly) supported by TortoiseCVS. So things seem to work well enough, but TortoiseCVS keeps crapping out for Vista-related reasons rather than git-cvsserver-related reasons. But I did manage to coax it into successfully checking out a complete working repository without the "noop" errors that it used to give.

 git-cvsserver.perl |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index fef7faf..277ee4e 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -76,6 +76,7 @@ my $methods = {
     'history'         => \&req_CATCHALL,
     'watchers'        => \&req_EMPTY,
     'editors'         => \&req_EMPTY,
+    'noop'            => \&req_EMPTY,
     'annotate'        => \&req_annotate,
     'Global_option'   => \&req_Globaloption,
     #'annotate'        => \&req_CATCHALL,
-- 
1.6.0.3.3.g08dd8
Previous: Junio C HamanoNext: Martin Langhoff
Message 11 of 12 in “Re: [PATCH] git-cvsserver: run post-update hook *after* update.”
  1. Stefan KarpinskiJan 23, 2009
  2. Junio C HamanoJan 23, 2009
  3. git-cvsserver: run post-update hook *after* update.Stefan Karpinski, Jan 29, 2009
  4. Junio C HamanoJan 29, 2009
  5. Stefan KarpinskiJan 29, 2009
  6. Andy ParkinsJan 29, 2009
  7. git-cvsserver: handle CVS 'noop' command.Stefan Karpinski, Jan 29, 2009
  8. Junio C HamanoJan 29, 2009
  9. Stefan KarpinskiJan 29, 2009
  10. Junio C HamanoJan 29, 2009
  11. git-cvsserver: handle CVS 'noop' command.Stefan Karpinski, Jan 30, 2009
  12. Martin LanghoffJan 30, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.