=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/getlog.c,v retrieving revision 1.71 retrieving revision 1.72 diff -u -r1.71 -r1.72 --- src/usr.bin/cvs/getlog.c 2007/02/22 06:42:09 1.71 +++ src/usr.bin/cvs/getlog.c 2007/06/26 02:24:10 1.72 @@ -1,4 +1,4 @@ -/* $OpenBSD: getlog.c,v 1.71 2007/02/22 06:42:09 otto Exp $ */ +/* $OpenBSD: getlog.c,v 1.72 2007/06/26 02:24:10 niallo Exp $ */ /* * Copyright (c) 2005, 2006 Xavier Santolaria * Copyright (c) 2006 Joris Vink @@ -18,16 +18,11 @@ #include #include +#include #include "cvs.h" #include "remote.h" -#define LOG_REVSEP \ -"----------------------------" - -#define LOG_REVEND \ - "=============================================================================" - #define L_HEAD 0x01 #define L_HEAD_DESCR 0x02 #define L_NAME 0x04 @@ -54,6 +49,16 @@ cvs_getlog }; +struct cvs_cmd cvs_cmd_rlog = { + CVS_OP_RLOG, 0, "rlog", + { "rlo" }, + "Print out history information for files", + "[-bhlNRt] [-d dates] [-r revisions] [-s states] [-w logins]", + "bd:hlNRr:s:tw:", + NULL, + cvs_getlog +}; + int cvs_getlog(int argc, char **argv) { @@ -131,6 +136,10 @@ if (runflags & L_LOGINS) cvs_client_send_request("Argument -w%s", wlist); } else { + if (cvs_command[0] == 'r' && + chdir(current_cvsroot->cr_dir) == -1) + fatal("cvs_server_log: %s", strerror(errno)); + cr.fileproc = cvs_log_local; } @@ -144,7 +153,10 @@ if (current_cvsroot->cr_method != CVS_METHOD_LOCAL) { cvs_client_send_files(argv, argc); cvs_client_senddir("."); - cvs_client_send_request("log"); + if (cvs_command[0] == 'r') + cvs_client_send_request("rlog"); + else + cvs_client_send_request("log"); cvs_client_get_responses(); }