在我的svn回购许多快乐的承诺之后,突然之间关系变得很糟糕...... svn翻了个盖子喊道:" 工作复制文本基础已经腐败了! "
可能是什么导致了这个?我如何解决它?
Working copy text base is corrupt
svn: Commit failed (details follow):
svn: Checksum mismatch for '~/blah/.svn/text- base/sumonet.py.svn-base'; expected: '548b9bb4b24bc580ab8694c583b28013', actual: '8b2b3cf4615de3d8520ae4841b3b0a8b'
Run Code Online (Sandbox Code Playgroud)
kal*_*ger 36
这是错误.
svn: E155017: Working copy text base is corrupt
svn: E200014: Checksum mismatch for text base of : '/home/.../exampleFileCorrupted.cpp'
....
Run Code Online (Sandbox Code Playgroud)
为我平稳工作的清晰解决方案:
注意: 将文件复制到SVN环境之外的其他文件中.
cp exampleFileCorrupted.cpp ~/Desktop/
Run Code Online (Sandbox Code Playgroud)
然后按照以下说明
svn rm --force exampleFileCorrupted.cpp
您将看到:D exampleFileCorrupted.cpp
将您保存的文件复制到您所在的SVN文件夹中的第1点之前:
cp ~/Desktop/exampleFileCorrupted.cpp .
(不要错过最后一点,这意味着'复制在这里')
添加到svn:svn add exampleFileCorrupted.cpp
您将看到:exampleFileCorrupted.cpp
提交更改:svn commit -m "Commit Message"
如果这有帮助,请告诉我.
gec*_*kos 19
这对我有用:
svn rm --keep-local THE_CORRUPTED_FILE
svn add THE_CORRUPTED_FILE
svn ci
Run Code Online (Sandbox Code Playgroud)
问候,
khm*_*ise 15
只需进行单独的新结账,然后将您在旧工作副本中所做的更改复制到新工作副本中.
对于较新的subversion版本,没有.svn/text-base/
目录.该.svn
下存储在工作的根.svn/pristine
和错误信息如下:
Sending README
Transmitting file data .svn: E155017: Commit failed (details follow):
svn: E155017: Working copy text base is corrupt
svn: E200014: Checksum mismatch for text base of '/home/user/tmp/svntest/README':
expected: 1f9167bc01e5bc9bfcb928ff03d6700a
actual: e0a1692ff5cab91e3e3a0d02dabe0251
svn: E200003: Delta source ended unexpectedly
Run Code Online (Sandbox Code Playgroud)
您可以使用https://gist.github.com/siddhadev/5814802上的bash脚本来修复它.它将用一个新的文件替换损坏的svn-base文件.