我正在为一个使用 svn 的开源项目开发补丁。我没有提交权限,但我想对自己的更改进行版本跟踪。我关注了this guide读取 svn 存储库并将其转换为 hg 存储库。
我希望能够从官方 svn 库中提取新的更改 到我自己的本地副本中,如何实现?导入后,我的本地文件夹包含一个未跟踪的 .hgignore
文件。我应该添加那个以供 mercurial 跟踪吗?
我还调查了 this tool但它似乎更适合在连接到 svn repos 的 mercurial 中本地工作。我想把我的 mercurial repos 放在 bitbucket 上就此而言,之前的指南似乎更有意义。
现在考虑可能为时过早,但稍后当我的贡献完成后,生成补丁以发送到上游的最佳方法是什么?有什么我应该立即注意的注意事项吗?
编辑: orip's answer (它的编辑部分)几乎准确地总结了我想做的事情:local hg copy
which can update
from svn
但也 push
到我的在线 bitbucket
存储库。
最佳答案
提取新的更改很容易:检查 svn 代码,并定期“svn 更新
”,然后将这些下载的文件检查到您的 mercurial 存储库中。
.hgignore 文件是用来告诉 mercurial 哪些文件类型不要跟踪——即忽略。不要将它添加到您的 mercurial 存储库中,它很可能只包含与您的颠覆全局忽略相同的排除项。
在 SVN 中生成补丁很容易,执行 svn diff > myPatch.diff
(在更新 svn repo 之后)
关于svn - 迁移到 mercurial 后如何从 svn repos 中提取更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2269793/