When working directorys consist of multiple repository,
if cvs commit across multiple repository,
cvs says `cvs [commit aborted]: cannot specify both a message and a log file'.
Example session:
% cvs -f ci -F /tmp/1 -f 00changes OS2/00readme
Checking in 00changes;
/var/tmp/repo/mew/00changes,v <-- 00changes
new revision: 10.10; previous revision: 10.9
done
cvs [commit aborted]: cannot specify both a message and a log file
%
This is very quick hack.
Index: commit.c
===================================================================
RCS file: /home2/cvsroot/ccvs/src/commit.c,v
retrieving revision 1.159
diff -p -u -b -B -r1.159 commit.c
--- commit.c 2000/02/28 20:33:53 1.159
+++ commit.c 2000/04/10 16:04:29
@@ -369,6 +369,11 @@ commit (argc, argv)
#else
use_editor = 0;
#endif
+#if 1
+ if (logfile)
+ error (1, 0, "cannot specify both a message and a log file");
+#endif
+
if (saved_message)
{
free (saved_message);
@@ -423,8 +428,10 @@ commit (argc, argv)
{
size_t size = 0, len;
+#if 0
if (saved_message)
error (1, 0, "cannot specify both a message and a log file");
+#endif
get_file (logfile, logfile, "r", &saved_message, &size, &len);
}
I concern that cvs frequently use static initializer to fill zero.
Many functions returns a malloc'ed object,
but cvs sometimes fogets to free.
e.g date = Make_Date (optarg) at src/update.c.
It is too late to refactor, cvs has much entropy...
(I'm sorry, I have no enough skill to refine.)
--
KOIE Hidetaka <[EMAIL PROTECTED]> in Japan.