1
嘗試反向合併以恢復1個特定文件。我相信我明白它應該如何工作,但會發生奇怪的錯誤。奇數SVN反向合併錯誤消息
我重讀svn書,谷歌和堆棧等
問題:
我要指定1個特定文件進行恢復。
SVN不喜歡本地文件引用,因爲該文件不存在,但在線示例似乎使用本地文件名。
它也不喜歡完整的http路徑,因爲它不在存儲庫中。我知道它現在不存在,但它在那裏。即使使用@peg語法仍然會出現錯誤。
例子:
- 在修訂我刪除一堆文件,所以R99在的最後時刻它的存在。
- 我們現在處於修訂版我只想要一個文件。
- 比方說,文件名爲.myFile(帶有前導點,不要以爲事項)
- 項目URL和「工作目錄」是http://server/repo/Project/trunk
- 該文件的URL會一直http://server/repo/Project/trunk/.myFile
- 假設我在等效的文件系統目錄中,沒有掛起更新或提交,換句話說svn status --show-updates。顯示我是最新的。
- 而且我能夠做的svn貓http://server/repo/Project/trunk/[email protected]
失敗嘗試:
svn merge -c -100 .myFile
Error: .myFile not under version control
svn merge -c -100 http://server/repo/Project/trunk/.myFile
Error: svn: '/repo/!svn/bc/120/Project/.myFile' path not found
Note that rev 120 is between the delete (r100) and now (r150)
svn merge -c -100 http://server/repo/Project/trunk/[email protected]
Error: svn: File not found: revision 100, path '/Project/trunk/.myFile'
svn merge -c -100 . .myFile
Don't recall specific error.
svn merge -c -100 . http://server/repo/Project/trunk/[email protected]
Error: svn: Cannot specify a revision range with two URLs
...以及其他各種組合....
我真的很爲難。我相信我理解反向合併,以及爲什麼有時需要@pegs,但是這種特殊的組合非常令人煩惱。
我有解決方法:我可以恢復所有文件,然後清理。或者只是複製並粘貼一箇舊版本,我可以用svn cat命令來完成。
但我想了解「正確」的方式。