404 Not Found for portable-net40+sl4+wp7+win8 library while indexing SVN repository
症状
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)
原因
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.
回避策
- 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.
ソリューション
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
詳細情報