`
yangzb
  • 浏览: 3470831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SVN—patch的应用

    博客分类:
  • QC
阅读更多

1.create patch
使用create patch可以生成一个或者多个修改过的文件和当前版本差异的patch(支持目录树)
通常情况下,create patch将修改保存为.patch或.diff文件
可以将.patch或.diff文件的内容复制出来,发给需要审查的人
.patch或.diff文件中记录了发生这个patch的版本号以及具体修改的内容
针对某个文件或某几个文件的若干种修改,可以生成多个.patch或.diff文件
2.apply patch
可以将.patch或.diff文件应用到对应版本的项目,就像打补丁一样
同一个项目/文件夹下,可以选择应用需要的patch
通常来说,应用一个patch时文件版本和生成这个patch时文件的版本是一致的;如果不一致,也可以强制应用,svn会自动进行diff(这时候需要手动合并)
linux下,可以使用系统的patch命令来应用patch,eg: patch -p0 <xxx.patch
3.使用
暂时不需要提交或不允许提交的修改,可以选择create patch来保存修改的内容
选择create patch来保存修改的内容并且提交patch,通过审查后,(在服务器端)应用patch
当一个功能有多种解决方案时,可以生成多个patch,(提交后)分别经过测试,再决定应用哪个patch
多个功能分别需要改同一个文件的不同地方(即没有同一行),可以做成多个patch,应用patch的顺序没有要求(在linux下应用也一样成功,只是会生成多个.orig文件)
多个连续性的功能,他们修改的文件都与一个base作patch,例:p1在v1的基础上开发v2,生成v2和v1之间的patch1;p2在v2的基础上开发v3,生成v3和v1之间的patch2,这样只要应用patch2也就应用了patch1。
4.带来的问题
一个较早的patch,在经过多轮提交后,如果想再要应用,需要严格的diff
如果两个patch分别改了同一行代码,应用第一个patch后要再应用第二个patch时,仍然需要diff。如果在linux下,会产生冲突,生成.orig和.rej两个文件(此时仍然需要手动进行比较合并)
第3部分提到的连续性,要准确的预见到,比较困难
第3部分提到的多个连续的功能,后做的功能的某个文件更新了先做的功能的内容,但先做的功能可能还涉及到其他文件,容易造成漏更新文件的情况

分享到:
评论

相关推荐

    svn安装与patch文件应用

    介绍了版本管理软件subversion和TortoiseSvn的安装及使用方法,以及patch文件的介绍和使用方法。

    SVN操作手册中文版网页格式

    应用补丁(Apply Patch) F. 实现细节 F.1. 图标重载 G. 用 SSH 使服务器更安全 G.1. 配置 Linux 服务器 G.2. 配置 Windows 服务器 G.3. 用于 TortoiseSVN 的 SSH 客户端工具 G.4. 创建 OpenSSH 证书 G.4.1. ...

    python-patch:解析和应用统一差异的库

    用于解析和应用统一差异的库。 特征 兼容Python 2和3 自动更正 根据修补文件换行 被剥离尾随空格打破的差异 a /和b /前缀 单个文件,它是命令行工具和库 Python stdlib外没有依赖项 补丁格式检测(SVN,HG,GIT) ...

    openwrt 制作patch

    使用openwrt制作自己的patch,并应用到自己的源码树种,并在自己的项目中分享自己的patches,无需只能通过修改源文件操作分享。

    TortoiseSVN和TortoiseMerge的中文帮助文档(chm格式)

    应用补丁(Apply Patch) F. 实现细节 F.1. 图标重载 G. 语言包和拼写检查器 G.1. 语言包 G.2. 拼写检查器 术语表 索引 插图清单 1.1. 未版本控制文件夹的 TortoiseSVN 菜单 1.2. 导入对话框 1.3. 文件差异查看器 ...

    review:以整洁的方式处理补丁

    为此,该应用程序允许用户执行以下操作:创造从工作目录创建一个新补丁。 也就是说,当前目录预计由 SCM 处理(支持 git、mercurial 和 svn)。 在做了一些努力之后,你只需输入: $ review create awesome通过输入...

    subversion-TortoiseSVN-使用手册(CHM+HTML,中英完整版)

    目录 前言 1. 致读者 2. 阅读指南 3. TortoiseSVN是完全免费的! 4. 社区 5. 致谢 6. 本文使用的术语 ...1.1. 什么是TortoiseSVN?...3.2.3.1....3.2.5. 使用svn+ssh的认证 ... 应用补丁(Apply Patch) 术语表 索引 插图清单

    mpeg-pcc-tmc2:基于视频编解码器的点云压缩(V-PCC)测试模型

    视频点云压缩-VPCC-mpeg-pcc-tmc2测试模型候选软件 建造 Bash脚本可用于构建mpeg-pcc... HM-16.20 + SCM-8.8(对其应用pcc_me-ext_for_HM-16.20 + SCM-8.8.patch存储在\ dependencies \ hm-modification中)。 svn结帐

    TortoiseSVN中文手册

    3.2.6. 使用 svn+ssh 认证 ........................................... 28 3.2.7. svnserve 基于路径的授权 ...................................... 28 4. 版本库 ................................................

Global site tag (gtag.js) - Google Analytics