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中。

  • 相关阅读:
    小任务之使用SVG画柱状图~
    webpack.config.js配置遇到Error: Cannot find module '@babel/core'问题
    今日笔记
    querySelector与getElementBy等的区别
    JavaScript实现邮箱后缀提示功能
    JavaScript中按键事件的e.keyCode || e.which || e.charCode
    跳转页面&回到上一页
    echarts.js 做图表的插件
    局域网内电脑远程访问共享
    同引擎mysql数据库转导快
  • 原文地址:https://www.cnblogs.com/licheng127/p/3899406.html
Copyright © 2011-2022 走看看