svn - Subversion + 同一工作副本中的一些其他 VCS(Git、Hg 等)

标签 svn version-control testing deployment mercurial

这是交易: 刚入职,这里的source control基本没什么用。 所有开发人员(大约 10 个人)都在同一个开发站点测试他们的代码,除了将更改提交到 SVN 之外没有其他方法可以测试更改,然后它会自动在开发站点中更新。 (我们甚至不要开始谈论当别人破坏某些东西时的头痛,你必须弄清楚为什么你的东西现在不工作......)

因此,与其像 Ctrl+S 那样刷新浏览器以查看我的更改,不如按 Ctrl+S、svn 提交、刷新页面。 当然,由于每个人每天都必须这样做一百万次,所以从来没有任何提交消息,所以 svn 历史记录是无用的。

无论如何,由于我是新人,为了我自己的理智,我想在本地使用其他一些源代码控制系统,这样我就可以原子地提交项目,并且能够轻松回滚。

是否可以同时使用 mercurial 和 svn? 我基本上会使用 svn 来查看我的更改,并使用 mercurial 来跟踪我的更改。

也欢迎任何替代想法。 谢谢!

更新-

谢谢大家的回答。 不幸的是,在这种情况下,没有一个真正适合我。也许我没有解释正确。 我不想在 repo 协议(protocol)之间同步。我需要的是能够在同一个地方拥有两个不同的存储库 check out 。 因此,如果我执行 svn status,我将与常规公司 repo 进行比较。但是,如果我执行 hg status,我会与我自己的个人存储库进行比较,以帮助我保持理智。 谢谢大家

最佳答案

Mercurial Stack Overflow 有一个 guide其中描述了 Subversion interaction choices in detail .目前有3种方法:hg converthgsubversionhgsvn。有关详细信息,请参阅指南。

(我自己的两分钱是 hgsubversion 没有正确处理所有存储库,但是当它处理时,处理起来非常顺利。如果没有,我在 hgsvn.)

更新:

你说:

"Thanks for all the answers. Unfortunately, none really suit me in this situation. Maybe I didn't explain it right. I don't want sync between repos. What I need is to be able to have like two different repository checkouts living in the same place. So if I do svn status I'm comparing against the regular company repo. But if I do hg status I'm comparing against my own personal repo to help me stay sane."

啊,我明白了。简单来说,是的。但你可能不想。您可以从 Subversion check out ,从 Mercurial 树手动复制 .hg 目录,然后从每个目录运行命令。您几乎肯定想要svn ignore .hg* 文件并将**.svn 添加到您的.hgignore .但是你真的不想这样做,除非除了偶尔从原始存储库中 svn updatehg pull 之外,你没有编辑结帐。如果您还进行编辑,您犯错误,并且您最终将一些您不希望 checkin 到一个或另一个存储库的内容。

如果我对您的理解正确,您仍然会从使用 Mercurial-Subversion 桥之一中获益。例如,您可以很容易地使用 hgsubversion 执行 hg status 与本地 Mercurial 存储库进行比较,并使用 hg svn status 与远程 Subversion 进行比较存储库。即使您不同步,而只是将您的文件与一个存储库和另一个存储库进行比较,拥有一个能够理解两者并且不会将不需要的状态从一个 VCS 泄漏到另一个 VCS 的系统仍然要好得多。

关于svn - Subversion + 同一工作副本中的一些其他 VCS(Git、Hg 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1750466/

相关文章:

svn - 如何使用 SharpSvn 从 SVN 获取文件数据

performance - TortoiseSVN的显示修改缓慢

project-management - 技术人员和非技术人员的项目管理+ SCM?

GIT:分支期间会发生什么?

version-control - 使用 Mercurial 的按功能分支工作流

python - 有没有办法用pytest沙箱测试执行,尤其是文件系统访问?

在我的网站上使用 Protractor 测试链接

javascript - 无法在 testcafe 中切换全屏

svn - TortoiseSVN 导入 - 无法验证?

svn - 如何在不检查整个源的情况下单独检查几个文件和文件夹