簡體   English   中英

svn 重定位錯誤 — 無效的重定位目標

[英]svn relocate error — invalid relocation destination

我們的 svn repo 的位置被更改為不同的 url,此外主干、分支和標簽的相對路徑也移動了一點。 現在,當我嘗試svn relocate ,我收到此消息。

Invalid relocation destination: 'https://my-repo-server/new-proj-name/branches/my-branch' (does not point to target)

我嘗試重新定位到 repo 的 url,並再次嘗試使用我想切換到的分支的 url。 我沒有嘗試使用switch --relocate因為它在我的 svn 版本中已被棄用。

我相信如果文件夾結構沒有改變,這會起作用。

用權宜之計解決了它——從工作副本的根目錄中,刪除 .svn 文件夾並運行svn checkout <new-url-of-branch> .

如果有人有更好的答案而不涉及刪除 .svn 文件夾,我會選擇它。

根據TortoiseSVN,在以下情況下不應使用重定位命令:

您想切換到同一存儲庫中的不同分支或目錄。 要做到這一點,您應該使用 TortoiseSVN → Switch...。閱讀名為“To Checkout or to Switch...”的部分了解更多信息。

因此,您應該執行svn switch https://my-repo-server/new-proj-name/branches/my-branch因為您在同一個存儲庫中移動。

(這是對@AlexMA 自己的回答的評論,但有些最終是獨立的。)

也許可以使用 sqlite3 CLI 編輯 .svn 目錄中的 wc.db。 但是首先必須找出數據庫的結構以直接通過 SQL 編輯相關表 - 只需轉儲 wc.db,編輯轉儲文件,與存儲庫一樣加載回導致工作副本不再被識別。 但這可能會引發更多問題。 由於SVN開發者認為所有的工作副本都是可有可無的,所以最好將WC更新到舊存儲庫的最后一個修訂版,在同一修訂版的新存儲庫中檢出一個新的WC,然后將所有未提交的修改從舊版復制到新版WC 並重新創建任何更改列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM