Hi, On 19.12.2004, at 04:57, itsme213 wrote: > I am doing > FileUtils.cp_r( "source/.", "generated") > to copy a directory tree. > > How can I prune out any sub_tree with /.svn/ ? If you want a tree without the .svn dirs, one way would be to remove the .svn subtrees afterwards with something like (these use *nix utils so if you need it to work in pure ruby, replace finds with corresponding results = []; Find.find{|filename| if filename.is_bad? then Find.prune else results << filename end }) subdirs = `find . -type d -name .svn`.split(/\n/) # or the Find.find equivalent subdirs.each{|sd| FileUtils.rm_r(sd)} Or the hard way: cd to source dir and dirs = `find . -type d -false -name .svn`.split(/\n/) files = `find . -type f`.split(/\n/).find_all{|f| dirs.include? File.dirname(f)} files.each{|f| # f should be relative to source dir root FileUtils.mkdir_p(File.join(target_dir, File.dirname(f))) FileUtils.cp(f, File.join(target_dir, f)) } (maybe there's yet another easier way, I don't know) -Ilmari