Code

cvsserver: Respond to the 'editors' and 'watchers' commands
authorDamien Diederen <dash@foobox.net>
Thu, 27 Mar 2008 22:17:26 +0000 (23:17 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 27 Mar 2008 23:05:27 +0000 (16:05 -0700)
These commands list users editing and watching locked files.  This trivial
implementation always returns an empty response, since git-cvsserver does not
implement file locking.

Without this, TkCVS hangs at startup, waiting forever for a response.

Signed-off-by: Damien Diederen <dash@foobox.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-cvsserver.perl

index 7f632af20defd7a3cfd92008c51f7e599be13830..2fe0a8a3cba6e559239ddf0b2c2d3a41148c0cad 100755 (executable)
@@ -73,8 +73,8 @@ my $methods = {
     'status'          => \&req_status,
     'admin'           => \&req_CATCHALL,
     'history'         => \&req_CATCHALL,
-    'watchers'        => \&req_CATCHALL,
-    'editors'         => \&req_CATCHALL,
+    'watchers'        => \&req_EMPTY,
+    'editors'         => \&req_EMPTY,
     'annotate'        => \&req_annotate,
     'Global_option'   => \&req_Globaloption,
     #'annotate'        => \&req_CATCHALL,
@@ -199,6 +199,11 @@ sub req_CATCHALL
     $log->warn("Unhandled command : req_$cmd : $data");
 }
 
+# This method invariably succeeds with an empty response.
+sub req_EMPTY
+{
+    print "ok\n";
+}
 
 # Root pathname \n
 #     Response expected: no. Tell the server which CVSROOT to use. Note that