I sent out a patch to add ls functionality to cvs, but found a couple of
bugs with it. It will seg fault if you use the -a switch, and it
doesn't work in client-server mode. I have fixed these issues, and have
attached the patches.
Thanks to everyone who has provided feedback. I still need some help
getting it to list directories, though.
Thanks.
Peter
--- orig-list.c Tue Oct 17 13:48:07 2000
+++ cvs/cvs-cvs/ccvs/src/list.c Tue Oct 17 10:16:55 2000
@@ -336,7 +336,7 @@
(int *) NULL);
- if (list_all == 0 && vers_tag != NULL && RCS_isdead (rcsfile, vers_tag))
+ if (vers_tag != NULL && RCS_isdead (rcsfile, vers_tag) && list_all == 0)
{
free (vers_tag);
vers_tag = NULL;
Index: server.c
===================================================================
RCS file: /home2/cvsroot/ccvs/src/server.c,v
retrieving revision 1.245
diff -u -r1.245 server.c
--- server.c 2000/10/11 16:23:17 1.245
+++ server.c 2000/10/17 17:52:27
@@ -3660,6 +3660,13 @@
do_cvs_command ("release", release);
}
+static void
+serve_list (arg)
+ char *arg;
+{
+ do_cvs_command ("cvslist", cvslist);
+}
+
static void serve_watch_on PROTO ((char *));
static void
@@ -4720,6 +4727,7 @@
REQ_LINE("annotate", serve_annotate, 0),
REQ_LINE("noop", serve_noop, RQ_ROOTLESS),
REQ_LINE("version", serve_version, RQ_ROOTLESS),
+ REQ_LINE("list", serve_list, 0),
REQ_LINE(NULL, NULL, 0)
#undef REQ_LINE