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]