summaryrefslogtreecommitdiff
path: root/usr.bin/cvs/checkout.c
diff options
context:
space:
mode:
authorJean-Francois Brousseau <jfb@cvs.openbsd.org>2004-07-26 17:30:31 +0000
committerJean-Francois Brousseau <jfb@cvs.openbsd.org>2004-07-26 17:30:31 +0000
commit51b9336fbbc2c242550ccc4ecb81a2b8e42d7a72 (patch)
treee6285a586ef5b1484ce19eb7999d8145b84b7722 /usr.bin/cvs/checkout.c
parentfc8b783e44966f264e614503f349542a8ee34fb6 (diff)
* make checkout work in remote mode (almost)
Diffstat (limited to 'usr.bin/cvs/checkout.c')
-rw-r--r--usr.bin/cvs/checkout.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/usr.bin/cvs/checkout.c b/usr.bin/cvs/checkout.c
index 25d53f6ae46..cb891859eaf 100644
--- a/usr.bin/cvs/checkout.c
+++ b/usr.bin/cvs/checkout.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: checkout.c,v 1.1 2004/07/13 22:02:40 jfb Exp $ */
+/* $OpenBSD: checkout.c,v 1.2 2004/07/26 17:30:30 jfb Exp $ */
/*
* Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
* All rights reserved.
@@ -70,11 +70,18 @@ cvs_checkout(int argc, char **argv)
return (EX_USAGE);
}
- if (cvs_root->cr_method == CVS_METHOD_LOCAL) {
- return (0);
+ cvs_root = cvsroot_get(".");
+ if (cvs_root->cr_method != CVS_METHOD_LOCAL) {
+ cvs_client_connect();
}
- cvs_client_sendreq(CVS_REQ_ARGUMENT, argv[0], 0);
+ cvs_client_sendarg(argv[0], 0);
+ cvs_client_senddir(".");
+ cvs_client_sendreq(CVS_REQ_XPANDMOD, NULL, 1);
+
+ cvs_client_sendarg(argv[0], 0);
+ cvs_client_senddir(".");
+ cvs_client_sendreq(CVS_REQ_CO, NULL, 1);
return (0);
}