[SVN]svn如何生成patch和打(导入)patch文件的简单方法


转自 https://blog.csdn.net/ameyume/article/details/7766722

生成patch文件:
svn diff > patchFile // 整个工程的变动生成patch
或svn diff file > patchFile // 某个文件单独变动的patch

svn回滚:
svn revert FILE // 单个文件回滚
svn revert DIR --depth=infinity // 整个目录进行递归回滚

打patch:
patch -p0 < test.patch // -p0 选项要从当前目录查找目的文件(夹)

patch -p1 < test.patch // -p1 选项要从当前目录查找目的文件,不包含patch中的最上级目录(夹)
例如两个版本以a,b开头,而a,b并不是真正有效地代码路径,则这时候需要使用"-p1"参数。
a/src/…
b/src/…


实例 注意p0和p1的区别

linbo@atel4gdonglesrv3-pc:/home/atel4gdonglesrv3/work/linbo/work/k80/job/asr1826/trunk/base$ patch -p1 < 0001.patch 
patching file package/kernel/mrvl-fastpath/files/fp_common.h
patching file package/kernel/mrvl-fastpath/files/fp_database.h
patching file package/kernel/mrvl-fastpath/files/fp_database_hash.c
patching file package/kernel/mrvl-fastpath/files/fp_learner_nc.c
linbo@atel4gdonglesrv3-pc:/home/atel4gdonglesrv3/work/linbo/work/k80/job/asr1826/trunk/base$ patch -p0 < 0001.patch  
can't find file to patch at input line 7
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/package/kernel/mrvl-fastpath/files/fp_common.h b/package/kernel/mrvl-fastpath/files/fp_common.h
|old mode 100644
|new mode 100755
|index 88d9a9a..cccd8c6
|--- a/package/kernel/mrvl-fastpath/files/fp_common.h
|+++ b/package/kernel/mrvl-fastpath/files/fp_common.h
--------------------------
File to patch: 




在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值