xref: /openbsd/usr.bin/cvs/version.c (revision 4dcde513)
1*4dcde513Sjoris /*	$OpenBSD: version.c,v 1.26 2017/06/01 08:08:24 joris Exp $	*/
2f5e00cb0Sxsa /*
3f5e00cb0Sxsa  * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
4f5e00cb0Sxsa  * Copyright (c) 2006 Xavier Santolaria <xsa@openbsd.org>
5f5e00cb0Sxsa  *
6f5e00cb0Sxsa  * Permission to use, copy, modify, and distribute this software for any
7f5e00cb0Sxsa  * purpose with or without fee is hereby granted, provided that the above
8f5e00cb0Sxsa  * copyright notice and this permission notice appear in all copies.
9f5e00cb0Sxsa  *
10f5e00cb0Sxsa  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11f5e00cb0Sxsa  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12f5e00cb0Sxsa  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13f5e00cb0Sxsa  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14f5e00cb0Sxsa  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15f5e00cb0Sxsa  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16f5e00cb0Sxsa  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17f5e00cb0Sxsa  */
18f5e00cb0Sxsa 
19f5e00cb0Sxsa #include "cvs.h"
20f5e00cb0Sxsa #include "remote.h"
21f5e00cb0Sxsa 
22f5e00cb0Sxsa struct cvs_cmd cvs_cmd_version = {
23f5e00cb0Sxsa 	CVS_OP_VERSION, 0, "version",
24f5e00cb0Sxsa 	{ "ve", "ver" },
25f5e00cb0Sxsa 	"Show current CVS version(s)",
26f5e00cb0Sxsa 	"",
27f5e00cb0Sxsa 	"",
28f5e00cb0Sxsa 	NULL,
29f5e00cb0Sxsa 	cvs_version
30f5e00cb0Sxsa };
31f5e00cb0Sxsa 
32f5e00cb0Sxsa int
cvs_version(int argc,char ** argv)33f5e00cb0Sxsa cvs_version(int argc, char **argv)
34f5e00cb0Sxsa {
35e78465cbSxsa 	if (argc > 1)
36e78465cbSxsa 		fatal("version does not take any extra arguments");
37e78465cbSxsa 
38*4dcde513Sjoris 	if (current_cvsroot != NULL && cvsroot_is_remote())
39f5e00cb0Sxsa 		cvs_printf("Client: ");
40f5e00cb0Sxsa 
41f5e00cb0Sxsa 	cvs_printf("%s\n", CVS_VERSION);
42f5e00cb0Sxsa 
43*4dcde513Sjoris 	if (current_cvsroot != NULL && cvsroot_is_remote()) {
4480f6ca9bSjoris 		cvs_client_connect_to_server();
45f5e00cb0Sxsa 		cvs_client_send_request("version");
46f5e00cb0Sxsa 		/* XXX: better way to handle server response? */
47f5e00cb0Sxsa 		cvs_printf("Server: ");
48f5e00cb0Sxsa 		cvs_client_get_responses();
49f5e00cb0Sxsa 	}
50f5e00cb0Sxsa 
51f5e00cb0Sxsa 	return (0);
52f5e00cb0Sxsa }
53