i had a closer look at the php4/cvsclean script yesterday as i was experiencing some problems when running configure that were clearly related to left-over files from previous runs
while i thought cvsclean would remove every file not under CVS control i found in php4/build/build.mk that it only removes files matching .cvsignore entries ... :( so here's a short script that would find out which files to keep by examining all CVS/Entries files instead: ---------------------------------------------------------------------- #!/bin/sh ( # list all file entries within CVS Entries files for cvsdir in `find . -name CVS` do cvsdir=`echo $cvsdir | sed -e's/\/CVS$//'` awk -F / "/[^D].*/ { if(NF>1 && \$1==\"\") print \"$cvsdir/\"\$2}" \ $cvsdir/CVS/Entries done # list *all* files find . -type f -print | grep -v '/CVS/' | grep -v '/CVS$' # files listed only once are not CVS-managed, so we remove them # (files listed in CVS but nonexistant will also appear only # once, but trying to remove them won't harm so we do not # take action to identify them here) ) | sort | uniq -u | xargs rm -vf # remove empty directories find . -type d -a -empty | xargs rm -rvf ---------------------------------------------------------------------- i think this is cvsclean done the "RIGHT WAY"(TM) and will check it in next week if i read no serious objections -- Hartmut Holzgraefe [EMAIL PROTECTED] http://www.six.de +49-711-99091-77 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]