> I'm not sure how important it is to be able to start from a clean CVS > tree without checking it out fresh.
For some people, checking out the whole CVS tree takes a long time. For subversions.gnu.org it also adds unnecessary load. Admittedly, this is not specific to Emacs, and arguably CVS should come with a tool to delete non-CVS-managed files to revert to the "fresh checkout" state. I use a littel Perl script `cvsclean' to do that. Stefan #!/usr/bin/perl sub cvsclean { my($path) = @_; my(%files) = (); my(@subdirs); print STDOUT "Cleaning $path\n"; opendir (DIR, "$path/") || die "No directory $path"; open (ENTRIES, "$path/CVS/Entries") || die "No $path/CVS/Entries file"; while (<ENTRIES>) { if (m[^D/([^/]+)]) { push (@subdirs, "$path/$1"); } elsif (m[^/([^/]+)/[^/-]]) { $files{$1} = "managed"; } } foreach $entry (readdir(DIR)) { if (!exists ($files{$entry})) { $entry = "$path/$entry"; if (-f $entry) { print STDOUT "unlink $entry\n"; unlink $entry; } } } foreach $subdir (@subdirs) { &cvsclean ($subdir); } } &cvsclean ("."); _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel