2012-06-22 65 views
2

我有一個使用subclipse的Mac上的SVN簽出。我希望能夠與Windows 7中的vmware共享文件夾共享此文件夾,並使用tortoiseSVN(在VM上)和/或subclipse(在Mac上)執行更新/提交。共享虛擬機文件夾的SVN控制

這可能嗎?或者兩者會有衝突?

共享驅動器具有由subclipse創建的隱藏「.svn」文件夾。龜還需要識別結帳嗎?

回答

2

分享工作副本從來就不是一個好主意。如果與您共享的操作系統完全相同(例如,所有Windows或所有Mac站),您都可以這樣做。但是你的一定不要分享它永遠如果操作系統是不一樣的!

一個顯而易見的原因是不能在操作系統之間共享工作副本:svn:eol-style屬性有native作爲一個可能的值。如果你在操作系統之間共享這樣一個wc,那最終會發生衝突。

但這只是最明顯和最明顯的原因。工作副本元數據(存儲在隱藏的.svn文件夾中的數據)中也包含一些操作系統特定的內容,這就是您真正將工作副本混淆到無法修復的地方。

+0

這是很好的知道!謝謝! –

0

從其他帖子的回覆和評論,這聽起來像有兩個顛覆客戶端工作在同一文件夾是一個壞主意。不過,我認爲你仍然可以共享工作文件夾本身,這樣你就可以切換到另一個操作系統,並試用不同操作系統上工作目錄的當前狀態。只要確保你總是從一個OS上的單個SVN客戶端提交。

這裏是關於如何share the work folder的信息。

+0

分享工作文件夾不是一個好主意。不能保證這兩個SVN客戶端是相同的版本,即使它們是'.svn'文件夾中的東西也不是可移植的。 –

+0

不可以,你不能在不同的操作系統之間共享一個工作拷貝文件夾。永遠不能!如果操作系統相同,你可以分享它,但即使這樣也不是一個好主意。 – Stefan

+0

嗯...經過一些測試後,我發現它確實有效。但是在埃德溫和斯特凡的評論之後,我認爲可能不值得看看它會工作多久的風險。 –

0

不要只是共享一個存儲庫。一旦將網絡放入存儲庫和客戶端之間,源代碼控制存儲庫(包括SVN存儲庫)就難以確保需求。爲了防止由於中間網絡造成的故障,SVN(和其他源代碼控制系統)具有構建在其之上的協議,即使網絡出現故障,SVN也可預測地工作。

通過映射驅動器並使用基於文件的協議,可以規避所有內置的保護措施來處理網絡問題,而應該考慮在存儲庫上使用網絡協議。默認情況下,SVN默認帶有四個可選的svn:// svn + ssh:// http:// https://。

然後你將有一個存儲庫和兩個人連接到它,代碼將在每個人之間共享和同步。

有MAC svn客戶端,所以如果你對TortiseSVN非常熟悉,你可能需要學習一個新的客戶端,但這是最糟糕的情況。使用當前(不太可取)的方法,可能發生的最糟糕的情況是您損壞了本地存儲庫,並且無法爲Windows和Mac機器工作。

相關問題