404 Not Found for portable-net40+sl4+wp7+win8 library while indexing SVN repository
Symptoms
Fisheye/Crucible fails to index the SVN repository with the following error in the atlassian-fisheye-YYYY-MM-DD.log
:
2014-09-11 09:45:04,418 ERROR [InitialPinger3 repo] fisheye BaseRepositoryScanner-handleSlurpException - Problem processing revisions from repo districtappsrepo due to class com.cenqua.fisheye.rep.RepositoryClientException - org.apache.subversion.javahl.ClientException: svn: E160013: '/path/to/lib/portable-net40+sl4+wp7+win8' path not found: 404 Not Found (https://svn.server.com)
Cause
The plus (+
) in the path of the folder was committed to the repository as the URL encoded version of portable-net40%2Bsl4%2Bwp7%2Bwin8
. When the SVN server looks for portable-net40+sl4+wp7+win8
it is not found because the plus signs have been encoded.
Workaround
- Check out the repo using tortoise 1.8.3 (it will checkout the folder with pluses)
- Copy the
portable-net40+sl4+wp7+win8
folder out of the repository - Commit the delete (it deletes the %2b version)
- Copy the folder back into the repository
- Commit (it commits the + version)
- In fisheye edit the repo and under
SCM Details >> Start Revision
set it to the current repo version.
Resolution
The problem lies within the SVN repository, so it must be fixed there. Editing the history of your SVN repository is not trivial. Please make backups of your repository before proceeding.
Dump the SVN repository to a flat file and manually edit the %2B
values to be +
(where appropriate). You may need to update the MD5 sums for these as the hash may have changed.
Export SVN repository to flat file
svnadmin dump > dump_file
Import edited SVN repository
svnadmin load /path/to/new/repo < dump_file
More Information