Just an idea: could we check if the target dir is empty and when empty delete that before "moving"? Hmm - what handling of access rights?
Jan > -----Ursprüngliche Nachricht----- > Von: Stefan Bodewig [mailto:[EMAIL PROTECTED] > Gesendet am: Montag, 20. September 2004 10:27 > An: [EMAIL PROTECTED] > Betreff: Patch for 22863 (efficent rename of dirs) breaks Gump build > > Hi, > > the fix for 22863 which allows <move>'s file attribute to point to a > directory breaks the tomcat-dbcp build in Gump: > <http://brutus.apache.org/gump/public/jakarta-tomcat-5/jakarta > -tomcat-dbcp/gump_work/build_jakarta-tomcat-5_jakarta-tomcat-d > bcp.html> > > The build does this: > > <move todir="${tomcat-dbcp.home}/src/java/org/apache/tomcat/dbcp"> > <fileset dir="${tomcat-dbcp.home}/src/java/org/apache/commons" /> > </move> > > where ${tomcat-dbcp.home}/src/java/org/apache/tomcat/dbcp exists prior > to invoking the task. This assumes that all files and directories > from below ${tomcat-dbcp.home}/src/java/org/apache/commons will get > moved and it works for all older versions of Ant. > > Since the fileset matches all files and directories and neither of > them is present in the dbcp directory before the move (in fact it is > empty), ${tomcat-dbcp.home}/src/java/org/apache/commons is added to > completeDirMap and renameFile is tried. > > With the fix for 22863 renameFile has been changed to throw a > BuildException if we try to rename a directory to an existing > directory (thus the failure above) while the old code would simply > return false and make Ant take the hard route of copying all files > individually. > > It would be easy to revert the changes made to renameFile around line > 385 - and I've confirmed that it will make the Tomcat build pass again > - but I'm afraid I'm missing something. In particular since it will > break testCompleteDirectoryMoveFileToDirWithExistingDir in MoveTest. > > Stefan > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] >