On Tue, Jun 26, 2012 at 01:58:56PM +0000, Mark Bertenshaw wrote: > Hi - > > I have just cleared up a build issue which resulted from upgrading from > Subversion 1.6.5 and 1.7.5. There is a point in the process where we add any > newly created component logs with: > > SVN ADD -q $APPROOT/LOGS/* > > In both versions of Subversion, this raises an error saying that the log file > is already under version control. That's fine - the NANT script doesn't care > about that. However, it seems that whilst 1.6.5 simply raised a warning for > this process, 1.7.5 actually sets a return code of 1. NANT interprets this as > an error, and the build process fails. > > Was this change by design? I would prefer not to have to ignore errors in > NANT, because it is feasible that other errors could occur and we would be > none the wiser. On the other hand, I can't find an option for SVN ADD which > says "ignore versioned files". I could write a script filtering by SVN > STATUS, but this would be inelegant. At the moment, I am just ignoring errors > for the NANT entry that calls SVN ADD. >
The exit code was deliberately changed for 1.7 so that scripts can detect whether they're trying to add files that don't exist or are already under version control. In some scripting situations this is a good thing. In your situation it's probably a change for the worse... cannot make everyone happy :( There was also some inconsistency in exit codes that svn subcommands returned in cases such as this, and with the new behaviour it is at least consistent across all subcommands.