Index: src/client.c =================================================================== RCS file: /cvs/cvs/src/client.c,v retrieving revision 1.1.1.5 diff -a -u -p -r1.1.1.5 client.c --- src/client.c 22 Dec 2001 00:00:05 -0000 1.1.1.5 +++ src/client.c 25 Jan 2002 03:17:41 -0000 @@ -5602,6 +5602,13 @@ send_files (argc, argv, local, aflag, fl int err; /* + * If we're about to send file names we need to make sure cvs + * server does not interepret any file names beginning with dashes + * as options. + */ + send_arg ("--"); + + /* * aflag controls whether the tag/date is copied into the vers_ts. * But we don't actually use it, so I don't think it matters what we pass * for aflag here. Index: src/rcscmds.c =================================================================== RCS file: /cvs/cvs/src/rcscmds.c,v retrieving revision 1.1.1.5 diff -a -u -p -r1.1.1.5 rcscmds.c --- src/rcscmds.c 22 Dec 2001 00:00:06 -0000 1.1.1.5 +++ src/rcscmds.c 25 Jan 2002 03:27:31 -0000 @@ -308,6 +308,8 @@ RCS_merge(rcs, path, workfile, options, call_diff_arg ("-L"); call_diff_arg (xrev2); + call_diff_arg ("--"); + call_diff_arg (workfile); call_diff_arg (tmp1); call_diff_arg (tmp2); @@ -581,6 +583,9 @@ diff_exec (file1, file2, label1, label2, call_diff_arg (label1); if (label2) call_diff_arg (label2); + + call_diff_arg ("--"); + call_diff_arg (file1); call_diff_arg (file2); free (args); @@ -630,6 +635,9 @@ diff_execv (file1, file2, label1, label2 call_diff_arg (label1); if (label2) call_diff_arg (label2); + + call_diff_arg ("--"); + call_diff_arg (file1); call_diff_arg (file2); free (args);