2013-01-03 66 views
1

這聽起來像是對你們中的一些非常基本的問題,但我是新來的顛覆,希望自己在這個問題上的意見:大型並行提交

我應該如何處理大量提交該把工作好幾天編碼B人是否也在我之前修改並承諾了他的變更?他的提交涉及與我相同的文件。

綜上所述,這裏是工作流程:

  • 提交一個基於修訂版1,尚未推
  • 提交b根據rev.0,已經推,創造Rev.2的

推送提交給定在rev.1和rev.2之間更改的代碼量是否有風險?

對不起noob問題,但我只是想避免打破項目的代碼。最糟糕的情況是,我重寫了代碼的一部分,在之前檢查了回滾2。

回答

5

如果SVN檢測到您想要提交的任何文件是自上次更新以來由其他人提交的,則SVN將不允許您進行提交。相反,它會錯誤地顯示錯誤消息,告訴你在提交之前需要執行「svn update」。當您執行「svn update」時,其他人的更改將被整合到您的本地文件中,而不會丟失任何數據,並且一旦您確認所有內容仍然有效,您就可以繼續並自行提交。

這不是太冒險;最壞的情況是,如果其他人在你所做的相同文件中修改了很多相同的行;在這種情況下,「svn update」將導致衝突,您將不得不進入衝突的文件,手動編輯它們以選擇要保留的行和刪除哪些行(文件將包含您的版本和另一個人的這些行的版本,他們將在文件中清楚標記,所以這不像聽起來那麼糟糕),然後對衝突的文件做一個「svn resolved」,讓SVN知道你已經照顧到衝突。之後,您可以照常編譯,測試和提交代碼。

+0

謝謝Jeremy花時間解釋我的SVN行爲。真的有幫助! – caccialdo

+0

@Arnaud - 閱讀SVN [RedBook](http://svnbook.red-bean.com/en/1.8/index.html),它包含了大量有用的信息。 – gbjbaanb