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的施用
热度:4836 发布时间:2013-02-26 00:00:00.0
相关解决方案
- Oracle Database 11.2.0.3 击11.2.0.3.5 Patch Set Update(PSU)补丁
- myeclipse的team里面只有apply patch,其他的什么都没有,如何弄
- JDT Core patch for Groovy-Eclipse plugin 在哪里下载啊解决办法
- 100分Oracle Patch!
- ORACLE 10升级到10.2.0.5 Patch Set遇到的内核参数检测失败有关问题
- Android官方命令深入分析之作图9-patch
- Android 九 PATCH 图片
- Android 九 patch 图片 (.9.png 格式图片) 的特点和制作
- patch 修补文件命令
- High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis
- shell脚本编写之常用基础命令(diff、patch、cut、sort、uniq、与||、test、tr)
- Java平台UCWEB6.3 Patch 128k版本发布
- How to patch in YOCTO
- linux kernel patch 使用说明
- egrep、fgrep以及文本查看和处理工具wc,cut,sort,uniq,diff,patch
- PatchScope: Memory Object Centric Patch Diffing
- patch(代码注入)
- LINUX PATCH
- HTTP Verbs: 談 POST, PUT 和 PATCH 的應用
- 论文阅读30 | Deep Multi-Patch Matching Network for Visible Thermal Person Re-Identification
- Oracle RAC环境下如何更新patch(Rolling Patch)
- 查看及管理Oracle patch
- Universal Termsrv.dll Patch 是个好东西
- .9图片的制作(Draw 9-patch)
- oracle database 9i/10g/11g 及补丁(patch)下载地址
- Whole.Tomato.Visual.Assist.X.v10.6.1854.0-Patch
- SAP GUI740 PATCH 11下载
- shell中常用的基础命令(diff、patch、cut、sort、tr、test)
- 什么是猴子补丁(monkey patch)
- Patch(部分为转载)