TortoiseSVN使用簡介(9/9)複製檔案及資料夾
很多時候您會希望用某資料夾的復件來進行修改。等到確定此修改已經完畢了,再合併到原來的主要開發版本上。舉例來說,我們目前在working copy下面有如下的資料夾及檔案:
現在,我們要為trunk這個資料夾建立一個branch。假設我們希望這個資料夾是在E:/svn_repo/my_prj/trunk/my_new_branch_for_testing(須與Repository同根,實際的目錄將產生在當前trunk所在目錄的相應目錄,需要check out一下)。首先我們可以在trunk資料夾下面的空白處,或是直接在trunk的icon下面按下滑鼠右鍵。
在選擇Branch/Tag…這個專案後,您將會看到如下的對話框出現。
請先確認From WC at URL: 中的資料夾是您要複製的來原始檔夾。接著,在To URL中輸入您要複製過去的路徑。通常我們會將所有的branch集中在一個資料夾下面。以上面的例子來說,branch檔案都會集中在branch的子資料夾下面。在To URL中您只需要輸入您要的資料夾即可。資料夾不存在時,會由SVN幫您建立。特別需要注意的是SVN因為斜線作為資料夾分隔字元,而非反斜線。
接著在Log message輸入您此次branch的目的為何。按下OK就可以了。
如果成功,將可以看到下面的畫面:
按下OK就可以關閉這個視窗了。如果您此時立刻去working copy的branch
要merge回trunk資料夾中,方法很簡單。以上面的例子來說,我們在D:/working/my_prj/trunk資料夾空白處,按下滑鼠右鍵,選擇Merge:
接著可以看到如下的畫面:
下一步,就進入如下視窗:
From: 與 To: 是要問您打算從Branch中的哪個版本到哪個版本,merge回原來的trunk資料夾中。剩下的就是指定要merge的revision範圍。選好要整合的版本後下一步:
您可以通過Test merge按鈕,試作一次Merge。這個merge只會顯示一些資訊,不會真正的更新到trunk的資料夾去。只有按下Merge按鈕後,才會真正的將branch的檔案與trunk的檔案合併起來。
上面的資訊告訴我們在trunk資料夾下面的b.cpp及c.cpp已經被更改過了。如果您在現在到trunk資料夾下,會看到這兩個檔案處於被修改的狀態。
如果您確認這次的merge沒有問題,您可以直接使用commit來將這兩個被修改的檔案commit回SVN repository上。如果有問題,您可以直接修改這兩個檔案,直到確認ok了,再行commit。
一切順利的話,您就成功的將branch的檔案merge回trunk了。