问题
My Subversion 1.7.17 working copy is unhappy with a particular file but is unable to update it. Any attempt to update gives me the same error, even if I delete the file or delete the directory:
Updating 'trunk/src/Makefile':
svn: E155017: Checksum mismatch for '/Volumes/project/dev/torc/trunk/src/Makefile':
expected: 78ee11ff73f3b68c903db838b6667ec3
recorded: 62bbbf4362958e3fd42470650d5b4eb6
I have read through SVN - Checksum mismatch while updating, and its two main solutions are to modify .svn/entries
or to delete and restore the directory. There is nothing useful in the top-level .svn/entries
file under 1.7, and deleting and restoring the directory did not fix my problem. Does anybody have other suggestions?
回答1:
This might be an older question, but I would like to share how I resolved it without checking out the entire (multiple GB) repository. I hope it helps people that have the same problem.
I'm using TortoiseSVN on Windows.
- Open the Repo-Browser by right-clicking on the file's parent folder and selecting TortoiseSVN > Repo-Browser
- In the repo-browser, right-click on your file, Select Update item to Revision
- In the Drop-Down menu Update Depth, select Exclude, click OK. This removes the checksum entry from your local repository database.
- Delete the file in the Explorer (trashbin), update your repository
- Go back to "Update item to Revision", for Update Depth select Working Copy
- Update your repository again
Everything should be back to normal.
回答2:
In my case the problem was in corruption of the .svn/pristine folder, and I solved it by replacing the whole that folder with another one from a clean working copy.
I use SVN 1.8.4 under Cygwin.
Steps to fix the issue:
- back up modifications, if any
- back up .svn/pristine (in the root folder of the w.c. in trouble)
- prepare reference w.c: ('svn commit/revert; svn update')
- replace .svn/pristine in trouble with one from reference w.c.
- enjoy :)
回答3:
I'm using Subversion 1.7+ client(Tortoise), and did solve this problem by two simple execution:
a. svn update --set-depth=empty
b. svn update --set-depth=infinity
Pls remind that step a will delete all your local files in this folder! So keep in mind that make a copy firstly.
回答4:
It's easy. Copy the problem file in your machine to other directory. Remove from your machine the problem file and commit. Make a svn up on the server. Now, return the file to inicial directory, make a add and commit. And make a new svn up on the server. Problem its resolved.
来源:https://stackoverflow.com/questions/26529916/cannot-resolve-subversion-1-7-checksum-mismatch-error-on-update