2009-10-19 77 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