zoukankan      html  css  js  c++  java
  • svn merge

    svn常用命令相信大家都非常熟悉,但是merge这个命令很多人却并不常用到,这次由于工作关系,特地学习了一下。

    由于开发环境是mac,没有像TortoiseSVN这么好用的svn,mac大部分的svn客户端个人觉得都不是特别好用,所以选择用svn命令行。

    svn merge的思想其实是diff and apply,而不是合并。

    svn merge --help可以看到这个命令的用法

    可以看到有4种用法,最后的参数都是[target_wcpath],wcpath=working copy path,也就是apply的应用对象

    而前面的参数则是得到diff用的,所以结果是前面得出的diff,apply到wcpath,所以4种用法的区别就在于得到diff的途径不同。

    (注:下面所说的SOURCE都是只svn的url,而不是本地目录,只有wcpath才是本地的checkout版本)

    1.

    This form is called a 'sync' (or 'catch-up') merge:

    svn merge SOURCE[@REV] [TARGET_WCPATH]

    称为同步merge,相当于把SOURCE分支的从REV版本到lastchange版本的diff同步到wcpath。

    2.

    This form is called a 'cherry-pick' merge:

    svn merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH]

    'cherry-pick' merge我们可以称之为“选择合并”

    -c,-r两个参数可以同时存在也可以只选其一:

    -r,表示两个版本之间的diff,-r N:M,表示从版本N到M得diff

    -c,表示单个版本的diff,-c 50 相当于 -r 49:50

    通过参数得到的diff,应用到wcpath

    3.

    This form is called a 'reintegrate merge':

    svn merge --reintegrate SOURCE[@REV] [TARGET_WCPATH]

    重建选择,从trunk迁出一个branch,开发完成后,要合并回trunk中。

  • 相关阅读:
    RabbitMQ从入门到精通(一)
    MQ的架构作用
    Docker可视化管理工具
    Linux修改war包中文件
    Redis--各个数据类型最大存储量
    linux中直接修改jar包内配置文件
    脚本发布程序
    maven 安装到私服
    HTML基础 text-indent 把文字移出浏览器,隐藏起来
    HTML基础 td valign 设置文本靠上 居中 靠下
  • 原文地址:https://www.cnblogs.com/licheng127/p/3899406.html
Copyright © 2011-2022 走看看