[英]how to commit to different svn branch without switching
我正在處理通常在trunk中的代碼,但由於最近的更改,我不得不將工作區切換到分支。
是否可以在分支中工作時對主干進行任何更改,而無需將項目實際切換到主干
我基本上想要在trunk和branch中提交更改,而不是一次又一次地來回切換
簡短的回答:沒有
這就是上帝創造svn switch
原因。 它允許您更改工作目錄的基礎分支,而不會丟失您的工作。
可以這樣想:開發人員多少次破壞了一些東西,因為他們已經對自己說“嘿,我沒有必要對此進行測試。這是一個小小的變化” ?
即使Subversion允許你做你想做的事情,它仍然是一個壞主意。 您基本上是在代碼庫中進行更改,而沒有確保它們首先工作的真正方法。 這就是為什么Subversion要求你有一個工作目錄才能進行更改* 。 你會如何測試你的變化?
如果您不想使用svn switch
因為您不想丟失工作,則可以執行以下操作:
svn switch
創建該中繼。 svn co
或svn switch
來獲取主干工作副本。 然后使用svn merge -r
將您的更改合並到trunk中。 當然,在提交之前測試您的更改。 * Subversion確實允許mkdir
, cp
, mv
和rm
直接在URL上工作,但這主要是為了讓你可以操作分支而無需創建工作目錄。
檢查不同文件夾中的主干。
在主干中進行更改,然后檢入它們。然后將它們合並到分支,並檢查合並。
你不能提交WC URL之外的路徑(參見svn info WCROOT
)
上述規則意味着 - 如果WC根位於某個級別,即分支和主干的共同父級,則可以同時提交到兩個位置(分支和主干將是WC內的子目錄)。 common parent是repository-root,為了不檢查整個repo,你可以使用--depth和--setdepth提交/更新選項
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.