Details
-
Bug
-
Resolution: Fixed
-
Medium
-
2.10.0, 3.0.0, 3.1.0
-
None
Description
On Windows systems when trying to index a repository that contains special characters in paths you might get an error 'E204899: Could not save file', with a stack trace like:
2013-09-11 13:28:20,046 ERROR - Problem processing revisions from repo svnsample due to class com.cenqua.fisheye.rep.Rep ositoryClientException - org.apache.subversion.javahl.ClientException: svn: E204899: Could not save file com.cenqua.fisheye.rep.RepositoryClientException: org.apache.subversion.javahl.ClientException: svn: E204899: Could not save file at com.cenqua.fisheye.svn.SvnThrottledClient.executeNoThrottle(SvnThrottledClient.java:176) at com.cenqua.fisheye.svn.SvnThrottledClient.execute(SvnThrottledClient.java:145) at com.cenqua.fisheye.svn.SvnThrottledClient.diff(SvnThrottledClient.java:201) at com.atlassian.fisheye.svn.Svn2Infill2Processor.processDiffPaths(Svn2Infill2Processor.java:672) at com.atlassian.fisheye.svn.Svn2Infill2Processor.infillChangeSet(Svn2Infill2Processor.java:252) at com.atlassian.fisheye.svn.Svn2Infill2Processor.access$100(Svn2Infill2Processor.java:81) at com.atlassian.fisheye.svn.Svn2Infill2Processor$1.perform(Svn2Infill2Processor.java:124) at com.atlassian.fisheye.svn.Svn2Infill2Processor$1.perform(Svn2Infill2Processor.java:113) at com.cenqua.fisheye.cache.BaseRevisionCache.withDbWriteLock(BaseRevisionCache.java:1017) at com.atlassian.fisheye.svn.Svn2Infill2Processor.process(Svn2Infill2Processor.java:113) at com.atlassian.fisheye.svn.Svn2Scanner.slurpRepository(Svn2Scanner.java:210) at com.atlassian.fisheye.svn.Svn2Scanner.doSlurpTransaction(Svn2Scanner.java:179) at com.cenqua.fisheye.rep.BaseRepositoryScanner.ping(BaseRepositoryScanner.java:81) at com.cenqua.fisheye.rep.BaseRepositoryEngine.doSlurp(BaseRepositoryEngine.java:87) at com.cenqua.fisheye.rep.RepositoryEngine.slurp(RepositoryEngine.java:399) at com.cenqua.fisheye.rep.ping.IndexingPingRequest.doRequest(IndexingPingRequest.java:25) at com.cenqua.fisheye.rep.ping.IncrementalPingRequest.doRequest(IncrementalPingRequest.java:30) at com.cenqua.fisheye.rep.ping.PingRequest.process(PingRequest.java:51) at com.cenqua.fisheye.rep.RepositoryHandle.processPingRequests(RepositoryHandle.java:230) at com.cenqua.fisheye.rep.RepositoryHandle.access$100(RepositoryHandle.java:61) at com.cenqua.fisheye.rep.RepositoryHandle$2.run(RepositoryHandle.java:186) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: org.apache.subversion.javahl.ClientException: svn: E204899: Could not save file at org.apache.subversion.javahl.ClientException.fromException(ClientException.java:68) at org.tmatesoft.svn.core.javahl17.SVNClientImpl.getClientException(SVNClientImpl.java:1274) at org.tmatesoft.svn.core.javahl17.SVNClientImpl.diff(SVNClientImpl.java:988) at org.apache.subversion.javahl.SVNClient.diff(SVNClient.java:177) at com.cenqua.fisheye.svn.SvnThrottledClient$3.call(SvnThrottledClient.java:205) at com.cenqua.fisheye.svn.SvnThrottledClient$3.call(SvnThrottledClient.java:202) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at com.cenqua.fisheye.svn.SvnTask.run(SvnTask.java:32) ... 3 more Caused by: org.tmatesoft.svn.core.SVNException: svn: E204899: Could not save file at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:753) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:371) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:359) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:707) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doReport(DAVConnection.java:334) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.runReport(DAVRepository.java:1289) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.diff(DAVRepository.java:817) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgDiff.doDiffReposRepos(SvnNgDiff.java:263) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgDiff.doDiff(SvnNgDiff.java:111) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgDiff.run(SvnNgDiff.java:70) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgDiff.run(SvnNgDiff.java:34) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20) at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20) at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1238) at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294) at org.tmatesoft.svn.core.javahl17.SVNClientImpl.diff(SVNClientImpl.java:984) ... 9 more Caused by: org.tmatesoft.svn.core.SVNException: svn: E204899: Could not save file at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) at org.tmatesoft.svn.core.internal.io.dav.handlers.DAVEditorHandler.fetchFile(DAVEditorHandler.java:567) at org.tmatesoft.svn.core.internal.io.dav.handlers.DAVEditorHandler.endElement(DAVEditorHandler.java:481) at org.tmatesoft.svn.core.internal.io.dav.handlers.BasicDAVHandler.endElement(BasicDAVHandler.java:103) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:892) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:857) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:220) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:463) ... 24 more 2013-09-11 13:28:20,049 ERROR - Repository scanner paused.
This seems to be caused by svnkit not handling files with some special characters on Windows systems.
As a workaround the Native subversion client can be used.