我在2个存储库中有我的项目.一个在SVN下,一个在Git下.每当我在SVN中更改某些内容时,我想对Git存储库执行相同的操作.
假设我对SVN存储库进行了更改,生成了修订版125.如何将这些相同的更改应用到我的Git存储库(假设我的Git存储库是最新的版本124).
谢谢.
我实际上做/寻找的是:
cd /path/to/svn/repo svn diff -r 125 > /tmp/patch.diff cd /path/to/git/repo patch -p0 < /tmp/patch.diff
尝试:
svn diff | patch -d /path/to/git/repo -p0
看看svn help diff
是否要导出特定修订版的差异.
为什么没有人喜欢git-svn?我不能假设没有人知道它.
有git-svn(和git-hg和git-cvs以及git-bzr afaict).至少用git-svn你可以做到
git svn clone --stdlayout http://myrepo/root here
使用-s(--stdlayout
)假定标准的trunk/branches/tags/layout,但你可以使用任何方式(man git-svn
).
映射是双向的,因此您可以像使用本机(git)远程一样进行推送和拉取.无话可问.
如果您要在SVN中生成补丁程序并在以后与Git一起应用,请不要忘记使用--git
命令行选项:
--git
为svn diff启用特殊的输出模式,该模式旨在与流行的Git分布式版本控制系统实现交叉兼容性。
例如,运行
svn diff --git -r 125 > /tmp/patch.diff