I just upgraded our build machine from Subversion 1.6 to 1.8, and wanted to document an issue that I ran into. Our build process creates a temporary branch for the build, then uses the <move> command to convert that branch into a tag. In 1.6, we could specify the 2nd argument of the <move> as the directory that should contain the new tag (e.g. /tags/buildprocess/); in 1.8, that stopped working with this error:
[svn] <Move> started ...
[svn] move -m "build script moving build branch to build tag for 2013.10.83 : BUILD-20130812-155834 svn://dev.carnegielearning.com/branches/buildprocess/BUILD-20130812-155834 svn://dev.carnegielearning.com/tags/buildprocess
[svn] Item already exists in filesystem
[svn] svn: Path 'tags/buildprocess' already exists
[svn] <Move> failed.
The fix was relatively simple: specify the name of the tag being created as the 2nd argument (e.g. /tags/buildprocess/BUILD-20130812-155834). But it took me a while to realize what was going on.
As far as I can tell, the issue is with the changes in r4696, where it changed to call org.apache.subversion.javahl.ISVNClient.move(Set<String>, String, boolean, boolean, boolean, Map<String, String>, CommitMessageCallback, CommitCallback) with moveAsChild hard-coded. Presumably it needs to query the repository and figure out whether to pass true or false?
I’m not subscribed to the list so please CC me on any replies. Thanks!
Carnegie Learning, Inc.
(888) 851-7094 x150 toll free
(412) 690-2444 fax