2009-09-19 40 views
2

每個同事都使用同一個VPC的副本,並使用Tortoise來提交文件。由於所有VPC具有相同的主機名並提交到同一個存儲庫,因此出現了一些問題。關於這是否會導致存儲庫中的任何類型的腐敗或衝突的問題。承諾來自多個VPC的SVN

我最初認爲這不會造成任何問題,因爲提交是原子化的,顛覆不關心提交機器的主機名。但我找不到任何消息來源稱這是一個真實的事實。

所以問題是,在提交來自多個VPC的文件都有相同的主機名時,是否需要考慮任何問題?

回答

6

不,這不會是一個問題。提交是在每個連接的基礎上完成的,它不依賴於主機是唯一的。

作爲一個例子,它是完全合法的,並且支持在同一臺機器上從兩個不同目錄提交同一個存儲庫,同時,至少如果它們不會導致由於編輯導致的任何正常衝突相同的文件等

+0

上提供鏈接到一些文章或其他來源來支持這一行動的任何機會呢? – Mez 2009-09-19 21:22:42

+0

SVN最初被設計爲使用Berkely DB,並且它使用了事務支持,每個連接一個事務。後來它從Berkeley DB中轉移出來,因爲它使存儲庫綁定到他們的創建平臺上,但其餘的架構師都保留了下來。在內部,SVN仍然使用一個事務處理系統,每個連接一個事務。 – 2009-09-20 08:15:39

+0

但是,沒有,我沒有那個好用點了這一點,但我*有*從構建機器,其中多個子項目是在我的FinalBuilder腳本通過parallell分支COMMITED完成多個同時提交的文章。 – 2009-09-20 08:16:33

4

它應該不會造成問題,因爲作者(提交者)(而不是主機)是SVN中記錄的內容。事實上,所有的VPC有相同的主機名應該什麼也不做倉庫

2

這不應該是一個問題:我經常用兩種不同的檢出工作在同一臺機器上,從未有過反對那種問題 - 實際上,在我正在進行的一個項目中,我們是幾個開發人員,我們中的一些人在同一臺機器上使用多個結賬 - 並且完全沒有問題:它的工作原理與我們每次只有一個結帳在不同的機器上。

SVN正在開發一種「每個承諾」的基礎:本機,主機,主機名,用戶,什麼的,......並不重要。

每個提交將有其不同的版本號,並在您的情況下,不同的用戶名。