解決svn pritine text not exist問題


svn: E155032: The pristine text with checksum '$sha1$151400d1cd4c5fc190d500aa1826d45cb91f088f' not found

 

1) Get an sqlite executable (for Windows: download a pre-compiled binary from http://www.sqlite.com/download.html). Put it somewhere in your PATH.
1.從http://www.sqlite.com/download.html下載 for Windows: download a pre-compiled binary解壓到.svn同級目錄下(我的網盤->工具問題->sqlite-tools-win32-x86-3140100.zip)

2) Open a command prompt and go to the root of your working copy.
Execute:sqlite3 .svn\wc.db "select * from nodes where checksum like '%d9b41b57756396b9cb236801fc02e0da0a83dffe'"
This should return exactly 1 row from the svn working copy database.
You can see in that row the local path that's related to that pristine file.
2.打開cmd進入.svn上級目錄,執行 sqlite3 .svn\wc.db "select * from nodes where checksum like '%d9b41b57756396b9cb236801fc02e0da0a83dffe'"
cmd將返回1條記錄,你會看到關聯的原始文件的路徑等信息


3) Now execute:sqlite3 .svn\wc.db "update nodes set presence='not-present' where checksum like '%d9b41b57756396b9cb236801fc02e0da0a83dffe'"
Now you've changed the presence value of that particular row to "not-present", giving svn a chance to recover from the actually missing pristine file.
3.執行 sqlite3 .svn\wc.db "update nodes set presence='not-present' where checksum like '%d9b41b57756396b9cb236801fc02e0da0a83dffe'"
改變了特定(not-present)行的值,使SVN從實際丟失的原始文件中恢復。


4) "svn cleanup" again. There might be more missing pristines. Repeat steps 2 and 3 for them.
4.右鍵svn cleanup,重復第二歩和第三歩

5) Finally:
svn update --force
This makes svn actually restore the pristines. The --force is there because svn will also try to install the working versions
of the "not-present" files. But those files are still there. Without --force you'll get tree conflicts on those files because of the "unversioned
obstructions" that svn thinks they are (because of "not-present" svn thinks they shouldn't be there).
5.最后更新svn


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM