2010-09-09 84 views
9

我需要SVN文件夾如何將SVN文件夾上一級

所有的文件和目錄從https://myserver.com/svn/Project/trunk/ 移動到一個級別,並保持所有的歷史爲https://myserver/svn/Project/

我用命令:

svn move https://myserver.com/svn/Project/trunk/ https://myserver/svn/Project/ 

但它說:

的svn:無法移動路徑「 https://myserver.com/svn/Project/trunk/' 自身

誰知道我該如何解決這個問題? 謝謝!

+0

存儲庫佈局看起來很明智。你爲什麼想改變它? – zellus 2010-09-09 20:29:42

+0

看看http://stackoverflow.com/questions/496713/how-do-i-correct-a-subversion-project-where-i-omitted-trunk – zellus 2010-09-09 20:33:41

+0

謝謝,因爲在我的情況下樹幹只是一個額外的鏈,沒有必要擁有它。 – ihorko 2010-09-10 03:23:15

回答

10

如果你是願意使用TortoiseSVN,那麼你可以簡單地使用存儲庫瀏覽器來移動文件夾。這就是我通常會移動文件夾的方式,非常簡單而且無痛。

+0

是的,我使用TortoiseSVN,它在存儲庫瀏覽器中非常簡單,非常感謝您的幫助! – ihorko 2010-09-11 11:35:16

1

我不知道你是否可以這樣移動它,我會結帳庫,在文件系統中移動文件夾,然後提交更改,在一個位置刪除它,並在另一個位置添加。

+1

你不會保留歷史,之後,你將只有最後修訂 – ihorko 2010-09-09 18:54:20

+0

爲什麼?你會有所有的變化,但在新的樹。 – 2010-09-09 22:18:22

+0

正如我想到的問題一點點,我發現另一個解決方案 - 在指定的樹轉儲存儲庫,讓我們說: svnadmin轉儲回購/路徑/其他/內部> file.dump 然後刪除目錄「內部」 - >它會從存儲庫中刪除它,現在將其加載到另一個路徑: svnadmin load/repo/--parent-dir/path 2010-09-09 22:19:03

1

嘗試:

SVN切換--relocate https://myserver.com/svn/Project/trunk/https://myserver/svn/Project/

請測試這在一個單獨的存儲庫您在真正的運行之前!

+0

謝謝,我試過了,但svn說:svn:'。'不是工作副本 – ihorko 2010-09-09 19:05:25

+1

您是否在文件系統上運行了項目基本目錄中的命令? – Nix 2010-09-09 19:18:02

+1

但交換機不會移動服務器上的任何文件... – mliebelt 2012-06-02 11:38:08

0

我不相信你可以直接移動到現有的目錄(尤其是存儲庫根目錄)。也許--force選項可以幫助。

如果可以檢出整個回購,你可以每個目錄從主幹上水平移動,好像更可靠的解決方案

svn mv * .. 

*不是由一些SVN客戶端支持

19

我只是在尋找這個。然後我開始尋找解決方案,除了它確實讓我想到一個解決方案之外,我沒有真正找到解決方案。

您會希望命令svn mv ./folder ./將所有內容從./folder移動到./。這其實不是真的,它會將folder移動到當前目錄中。由於這是它已經存在的地方,所以命令失敗。

因此,該解決方案將是移動的一切./folder./。事實上,下面的命令只是做的是:

svn mv ./folder/* ./

1

我今天遇到類似的問題,但我不知道如何將它從烏龜上移,因爲我也有該文件夾的設置。

如果新位置https://myserver/svn/Project/應該只有從舊位置的項目,這裏是我做過什麼:

  • 感動https://myserver.com/svn/Project/trunk/到一個新的臨時位置(例如https://myserver/svn/TempProject/);

  • 刪除您想要使用的現有位置(https://myserver/svn/Project/);

  • 更名爲https://myserver/svn/TempProject/https://myserver/svn/Project/

這對我有效。它保存了所有的歷史,svn設置等等。歷史只是從所有移動的東西中得到了一些新的條目。