2009-10-19 78 views
3

如果我使用svn copy拍攝存儲庫一部分的快照,如何更新該快照?更新svn中的標籤

使用案例:

myrepo/ 
    trunk/ 
    src/ 
     something.c 
     something.h 
    tags/ 
    branches/ 

mkdir branches/user1/trusted

svn add branches/user1/

svn copy trunk/src branches/user1/trusted

myrepo/ 
    trunk/ 
    src/ 
     something.c 
     something.h 
    tags/ 
    branches/ 
    user1/ 
     trusted/ 
     src/ 
      something.c 
      something.h 

---承諾和trunk/src/something.*的變化發生在這裏---

myrepo/ 
    trunk/ 
    src/ 
     neatstuff.c   // new file 
     something.c   // modified 
     big_ugly_include.h // was something.h, it got renamed 
    tags/ 
    branches/ 
    user1/ 
     trusted/ 
     src/ 
      something.c 
      something.h 

現在我希望branches/user1/trusted/src是最新版本的trunk/src。我怎樣才能做到這一點?

回答

3

該操作被稱爲mergeSubversion book詳細介紹了它。

編輯與一些詳細信息:

正如Rob和sgreeve提到,刪除並重新創建分支是另一種選擇。我建議合併,因爲你的例子是你創建了一個分支 - 其目的是併發修改。如果您的存儲庫副本在創建後不會被修改,那麼您最好創建一個標籤而不是分支。

+1

具體來說,本書的這一部分處理你的情況。 http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html#svn.branchemerge.basicmerging.stayinsync – razlebe 2009-10-19 20:29:07

2

作爲合併的替代方案,如果您只是簡單地進行標記更新,則可以刪除副本並重新創建它。

+0

我同意:如果/ branches下的文件正在被合併與對中繼線更新並行更新。如果你真的想拍一個trunk的快照,最好使用svn copy來重新創建分支。 – razlebe 2009-10-19 20:41:00

+1

謝謝! [[無用的填充物來處理15個字符的最低限度]] – 2009-10-19 21:14:12