[Looks plausible, although I haven't carefully compared this with the analogous code in update_dirent_proc. Needs testcase and perhaps documentation. Also, is the *_dirproc really the right place for this? Are there any other commands which take modules and which need a similar fix? -kingdon] From: Xavier Leroy Subject: suggested patch to CVS 1.9 To: bug-cvs@prep.ai.mit.edu Date: Mon, 2 Dec 1996 15:23:17 +0100 (MET) I've found that cvs rdiff does not honor ignored directories in the module/directory list. E.g. cvs rdiff -r rel1 -r rel2 foo !foo/test still outputs diffs for files that are in foo/test. This is a problem when one is distributing both full sources (obtained with cvs export) and diffs (obtaines with cvs rdiff) of a module where some directories are excluded. The patch below fixes this problem. Regards, - Xavier Leroy Mon Dec 2 15:20:15 MET 1996 Xavier Leroy * src/patch.c (patch_dirproc): Honor ignored directories *** cvs-1.9/src/patch.c.orig Wed Oct 2 08:04:03 1996 --- cvs-1.9/src/patch.c Mon Dec 2 14:01:22 1996 *************** *** 616,624 **** char *update_dir; List *entries; { ! if (!quiet) ! error (0, 0, "Diffing %s", update_dir); ! return (R_PROCESS); } /* --- 616,633 ---- char *update_dir; List *entries; { ! if (ignore_directory (update_dir)) ! { ! if (!quiet) ! error (0, 0, "Ignoring %s", update_dir); ! return (R_SKIP_ALL); ! } ! else ! { ! if (!quiet) ! error (0, 0, "Diffing %s", update_dir); ! return (R_PROCESS); ! } } /*