2010-05-17 37 views
1

我有一個組織嚴重的.NET解決方案,所以我將一些項目移到了適當的文件夾中。在解決方案中,我只是修復了到新位置的路徑,並且所有工作都在我的工作副本中。SVN存儲庫文件夾與我在Visual Studio中的解決方案文件夾結構或磁盤上的文件夾結構不匹配

我使用AnkhSVN將解決方案提交到存儲庫,結果也很好。

但是,當我在回購瀏覽器中查看時,裏面的文件夾以舊的方式組織。

我需要做什麼?

回答

2

Subversion使用元數據文件解決方案中的文件夾結構,跟蹤的物品位置,以及它在存儲庫映射到 - 這些文件在每個解決方案文件夾和子.svn_svn文件夾通常舉行。儘管您可能在工作副本中物理移動了這些東西,但這些元數據文件仍然指向存儲庫中的原始結構。

你可以做什麼(如果有更聰明/更好的選擇,那麼任何擁有更深入的Subversion知識的人都會通過RepoBrowser重新組織倉庫中的文件夾結構)。一旦你有了你想要的東西,你可以簽出一個新的工作副本。元數據文件將反映新的存儲庫結構。

+0

試過這個,它工作。似乎有點手動,但它的工作。 – Carlos 2010-05-17 10:10:55

+0

同意,這是一個手動過程,我不知道是否有更聰明的方法來實現它 - 我認爲Subversion版本庫結構應該是「正確的」版式,並且它應該獨立於您想要的版本來映射您的工作副本結構。另一方面,你不能僅僅通過調整你的工作副本來改變版本庫結構 - 你必須重新組織'主'並採取新的副本。 – 2010-05-17 10:28:42

0

如果您使用Visual Studio,則不會創建文件夾,而是創建過濾器。過濾器基本上允許您以可視方式組織您的解決方案,但在後臺文件夾將保留在其原始位置。

+0

如果您使用「顯示所有文件和文件夾」選項,則該屬性不成立,則VisualStudio資源管理器的行爲與普通資源管理器相似 – stijn 2010-05-17 08:38:28

+0

正確,但這不是默認行爲! – Kolky 2010-05-17 08:44:12

+1

這種行爲在不同的項目類型中有所不同。 C#和VB項目通常具有相同的磁盤和項目內佈局,而VC++確實使用了過濾器。 (沒有標準的甚至通用的API來定義過濾器是否爲文件夾) – 2010-05-17 12:13:20

相關問題