生成patch文件:
svn diff > patchFile // 整个工程的变动生成patch
或svn diff file > patchFile // 某个文件单独变动的patch
如果是新增文件,需要先svn add filename 再svn di filename
patch合入:
patch文件合入本地,先确保本地为最新文件且无修改文件,直接运行svn patch patch_name即可。
patch撤回:
如果patch没有通过,需要把本地文件恢复,等patch刷新后再重打。恢复本地文件方法:
1、svn revert dir1 dir2 … -R
如果忽略目录名字,则会对整个trunk进行回退。如果patch有新增文件,文件状态会变成?,需要手动删除。
2、直接svn st,然后svn up,再等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/…
在b分支的Settings目录做了一些修改,需要合并到a分支的Settings目录里。