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