MOn*_*DaR 0 svn tags merge branch
我目前在我的SVN-repository中进行了以下设置:
-Root
--ProjectA
----trunk
----tags
----branches
--ProjectB
----trunk
----tags
----branches
--ProjectPool
----projectA
----projectB
Run Code Online (Sandbox Code Playgroud)
ProjectPool包含ProjectA和ProjectB的特定标记.
现在,ProjectPool中的标签不时发生变化.这意味着ProjectA的特定主干版本已提交,我想从此修订版创建一个副本到Root/ProjectPool/projectA.新标记应替换旧标记,但应该有可用的历史记录.
它就像在我的电脑上有一个分支,我永远不会改变它,并不时将主干合并到它.但它应该完全在存储库中完成.(无需登记/结账等)
这将允许我查看Root/ProjectPool/projectA的历史记录并查看它的变化.一种高级修订历史.
更新:
对不起,我忘了提出一个明确的问题 - .-
在查看到目前为止已经到达的答案后,我会说ProjectPool中的项目副本是原始项目的分支.然后我可以在我需要ProjectPool中的新版本的时候将它们从trunk合并.
现在的问题是,如果有办法合并"在线",则无需先创建工作副本.
>>现在ProjectPool中的标签会不时变化.
Tags是里程碑,它们不应该改变.您应该在每个版本上创建一个新标记.
>>这意味着ProjectA的特定主干版本已提交,我想从此修订版创建一个副本到Root/ProjectPool/projectA.新标记应替换旧标记,但应该有可用的历史记录.
你所需要的就是一个branch的ProjectA下ProjectPool,你可以重复使用合并trunk的ProjectA.有这样的事情
svn merge sourceURL1[@N] sourceURL2[@M] [WCPATH]
Run Code Online (Sandbox Code Playgroud)
参考:http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.merge.html
>>这将允许我查看Root/ProjectPool/projectA的历史记录并查看其变化.一种高级修订历史.
看起来你已经完成了你的目录结构.如果可能的话,我建议你遵循这个结构.
-Root
+--ProjectPool
+--ProjectA
+----trunk
+----tags
+----branches
+--ProjectB
+----trunk
+----tags
+----branches
Run Code Online (Sandbox Code Playgroud)
您可以在他们的s中发布 ProjectA和ProjectB tag.新的发展将继续trunk.对于任何侧面开发或现场发布,请创建一个branchin branches目录.分支完成后,将其合并回主干.这样,您trunk将始终反映所有修订和更改.而且,这更方便(和传统).
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
8074 次 |
| 最近记录: |