patch 的生成与合入

 patch 的生成与合入

SVN 下 patch的生成:

1、某个指定的提交的patch:

svn diff -c r25313 > r25313.patch

2、两个提交之间的patch:

svn di -r r25312:r25313


其它:

svn diff -r r25111:r25313    是r25111以后到r25313,当前目录的所有修改,不包括r25111修改。


svn diff -r r25111-r25313    是r25111到r25313,当前目录的所有修改,包括r25111修改。


svn diff -r r25312:r25313    是r25313,当前目录的所有修改,显示r25313这个提交的修改。和svn diff -c r25313的效果一样


svn diff -c r25313    表示r25313的changes。


svn diff -c -r25313    跟svn diff -c r25313相反,表示r25313的反修改,提交这个patch就可以回退r25313


SVN 下patch的合入:

svn patch 20171018.diff

~/code/360os/trunk_new/alps$ svn patch 20171018.diff 
U         packages/apps/Settings/src/com/tpw/download/DownloadService.java
U         packages/apps/Settings/src/com/tpw/download/OkHttpClientManager.java


linux 下使用 patch 命令合入PATCH:


patch -p0  < 20171018.diff

其中p0代表的是路径,0代表忽略的路径层数,0代表当前路径,不忽略。

如patch为:

Index: packages/apps/Settings/src/com/tpw/download/DownloadService.java
===================================================================
--- packages/apps/Settings/src/com/tpw/download/DownloadService.java(版本 25353)
+++ packages/apps/Settings/src/com/tpw/download/DownloadService.java(工作副本)
@@ -77,7 +77,7 @@
         IntentFilter filter = new IntentFilter();
...


patch生成的路径为packages的父目录alps

如果是在alps目录下执行patch命令,则不需要忽略路径,命令应该为:

~/code/360os/trunk_new/alps$ patch -p0 < 20171018.diff 
patching file packages/apps/Settings/src/com/tpw/download/DownloadService.java
patching file packages/apps/Settings/src/com/tpw/download/OkHttpClientManager.java



如果是在packages目录下执行patch命令,此时就需要忽略一级目录,即忽略掉packages这个目录,命令应该为:

~/code/360os/trunk_new/alps/packages$ patch -p1 < 20171018.diff 
patching file apps/Settings/src/com/tpw/download/DownloadService.java
patching file apps/Settings/src/com/tpw/download/OkHttpClientManager.java


回退补丁:
patch -p1 -R < 20171018.diff 

patch -p1 -R < 20171018.diff 
patching file apps/Settings/src/com/tpw/download/DownloadService.java
patching file apps/Settings/src/com/tpw/download/OkHttpClientManager.java



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值