簡體   English   中英

如何在不切換的情況下提交不同的svn分支

[英]how to commit to different svn branch without switching

我正在處理通常在trunk中的代碼,但由於最近的更改,我不得不將工作區切換到分支。

是否可以在分支中工作時對主干進行任何更改,而無需將項目實際切換到主干

我基本上想要在trunk和branch中提交更改,而不是一次又一次地來回切換

簡短的回答:沒有

這就是上帝創造svn switch原因。 它允許您更改工作目錄的基礎分支,而不會丟失您的工作。

可以這樣想:開發人員多少次破壞了一些東西,因為他們已經對自己說“嘿,我沒有必要對此進行測試。這是一個小小的變化”

即使Subversion允許你做你想做的事情,它仍然是一個壞主意。 您基本上是在代碼庫中進行更改,而沒有確保它們首先工作的真正方法。 這就是為什么Subversion要求你有一個工作目錄才能進行更改* 你會如何測試你的變化?

如果您不想使用svn switch因為您不想丟失工作,則可以執行以下操作:

  • 將整個工作目錄復制到另一個位置,然后使用svn switch創建該中繼。
  • 在你的分支上完成你的工作。 提交更改並記下修訂號。 現在,要么使用svn cosvn switch來獲取主干工作副本。 然后使用svn merge -r將您的更改合並到trunk中。 當然,在提交之前測試您的更改。

* Subversion確實允許mkdircpmvrm直接在URL上工作,但這主要是為了讓你可以操作分支而無需創建工作目錄。

檢查不同文件夾中的主干。
在主干中進行更改,然后檢入它們。然后將它們合並到分支,並檢查合並。

你不能提交WC URL之外的路徑(參見svn info WCROOT

上述規則意味着 - 如果WC根位於某個級別,即分支和主干的共同父級,則可以同時提交到兩個位置(分支和主干將是WC內的子目錄)。 common parent是repository-root,為了檢查整個repo,你可以使用--depth和--setdepth提交/更新選項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM