今天遇到个问题,项目使用SVN做版本控制,但是里面用了一个开源项目是放在github上的,本地做了自定义修改。后来开源项目发了新版本,我们项目要升级的时候遇到了问题。由于版本控制信息已经不是一个base, 所以没法用svn merge之类的指令来完成升级。Google之后发现思路基本是把开源项目的变更diff出来,然后用patch指令打patch到我们项目。
cd /path/to/svn/repo
svn diff -r 125 > /tmp/patch.diff
cd /path/to/git/repo
patch -p0 < /tmp/patch.diff