2016-04-04 31 views
1

絕不是一個svn專家,我想知道你在什麼場合不是想要svn update立即執行svn commit後,假設*你正在提交工作副本中的所有內容。任何實際的例子/場景?何時不要「svn commit && svn update」?

換句話說,爲什麼不應該每個人都使用SVN有一個別名/功能,如svn commit && svn update? (忽略commit-m標誌)

* 我舉這個假設,因爲我認爲這是普遍的支持是版本控制下進行開發時,最好的做法,雖然有當然偶爾次削減這個角落,我懷疑這是我的問題的主要答案。

+0

我認爲這部分與SVN是一個CVCS而不是DVCS(例如git/hg)有關。 – tniles09

+2

我個人先更新,然後提交。如果有衝突,首先承諾就會失敗。 – Troncoso

+2

對。也許值得澄清的是,所有的更新(包括解決任何衝突),重新構建和測試都已經完成,所以現在你已經準備好真正提交了。這是我的問題的出發點。 – tniles09

回答

0

對。也許值得澄清的是,所有更新(包括解決任何衝突的 ),重新構建和測試已執行 ,所以現在您已準備好真正提交。這是我的 問題的出發點。

我不能想象一個情況,當你不應該或不能運行svn update後運行svn commit。假設上面引用的所有內容都已執行,爲何不執行svn update?同時,你爲什麼要運行svn update

運行svn update下次您開始處理任務時,下一次您看到您正在處理的功能分支中的提交(或您正在處理的任何其他分支或中繼),並確保在提交更改之前運行svn update

這裏的主要規則是經常運行svn update以確保與您的工作和他人的工作(假設您修改相同的文件)沒有衝突。

閱讀SVNBook:

+0

「與此同時,你爲什麼要運行svn update?」因爲直到我這樣做,即使提交的文件是最新的,我也沒有在日誌('svn log')中看到我的提交。這也讓我想知道除了日誌以外還有什麼與中央倉庫不同步。 – tniles09

+0

這是在Windows10下運行Cygwin與cygwin svn v1.9.3 – tniles09

+0

@ tniles09爲什麼你不運行本機svn客戶端對Windows? – bahrep

1

我實際使用是svn update && svn commit bash函數(添加-m,但我想這取決於您如何提交提交消息的偏好)。

可能svn update && svn commit && svn update,但除非你有一個非常大的倉庫工作,賠率是,你的倉庫將不會被顯著的第一個和最後更新之間變化。