当前位置:  开发笔记 > 开发工具 > 正文

如何将SVN diff应用于Git?

如何解决《如何将SVNdiff应用于Git?》经验,为你挑选了4个好方法。

我在2个存储库中有我的项目.一个在SVN下,一个在Git下.每当我在SVN中更改某些内容时,我想对Git存储库执行相同的操作.

假设我对SVN存储库进行了更改,生成了修订版125.如何将这些相同的更改应用到我的Git存储库(假设我的Git存储库是最新的版本124).

谢谢.



1> Andriy Drozd..:

我实际上做/寻找的是:

cd /path/to/svn/repo
svn diff -r 125 > /tmp/patch.diff
cd /path/to/git/repo
patch -p0 < /tmp/patch.diff


对于第二行使用`svn diff -c 125`会更正确.通过这种方式,您将获得修订版125的更改,而不是从当前代码更改此修订版.

2> MattJ..:

尝试:

svn diff | patch -d /path/to/git/repo -p0

看看svn help diff是否要导出特定修订版的差异.



3> sehe..:

为什么没有人喜欢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)远程一样进行推送和拉取.无话可问.


但这与git-svn没什么关系.Git-svn使您可以透明地使用Subversion存储库***(作为非本机远程).如果你打算传递git-svn_的SVN风格的差异_outside你不应该责备git-svn如果这不起作用.它没有任何关系

4> bahrep..:

如果您要在SVN中生成补丁程序并在以后与Git一起应用,请不要忘记使用--git命令行选项:

--git

为svn diff启用特殊的输出模式,该模式旨在与流行的Git分布式版本控制系统实现交叉兼容性。

例如,运行

svn diff --git -r 125 > /tmp/patch.diff

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有