gpt4 book ai didi

windows - 在本地使用 Mercurial 并在远程使用 SVN?

转载 作者:可可西里 更新时间:2023-11-01 09:26:02 26 4
gpt4 key购买 nike

在工作中我们使用 Subversion,但因为没有人知道如何分支我们的“分支”涉及复制整个代码库并将其视为一个单独的存储库 - 这意味着我们对“补丁”分支所做的任何更改都需要复制/粘贴到主要开发(“主干”)分支,因此它们是同步的,我们不能使用任何内置的 merge 工具(我们手动使用 WinMerge 或类似工具来查找更改的行)。没有人愿意花时间学习如何使用 SVN 的分支功能,而是鼓励使用这种策略作为替代方案。

由于我无法说服其他人研究真正的分支,所以我正在考虑为自己做点什么来减轻 merge 的痛苦。我想研究 Mercurial 有一段时间了(我以前在我的 Mac 上使用过一点 Git;工作时使用的是 Windows7)作为 SVN 的批发替代品,如果我能得到支持的话。

我的问题是:首先,如果我必须将更改推送到两个 SVN 存储库,那么在我的本地计算机上使用 Mercurial 会不会很困难?在本地我可以使用分支轻松 merge 代码,保持 SVN 存储库不同将是将分支推送到补丁代码的简单问题,将 dev 分支(当然在 merge 之后)推送到 SVN 中的 dev 分支,对吧?

其次,在我介绍 Mercurial 之前,有没有更好的方法来做到这一点?我试图告诉我的同事关于使用 SVN 的分支,但我得到的答案是“这暂时有效”,因为没有人愿意花时间学习 SVN 分支,并且 100% 诚实我从未使用过 SVN对自己进行分支,所以我不确定使用起来有多容易/有多难,并且不想冒险尝试分支并弄乱一些东西。

最佳答案

首先,老实说,如果您收到关于 SVN 分支最基本内容的此类回复,您真的认为您可以说服他们切换整个存储库系统吗?

可以肯定的是,“不想冒险尝试分支并弄乱一些东西”是 SVN 的典型特征,而 Mercurial 在这方面做得更好;因为您总是在本地存储库中工作,所以尝试和犯错的成本很低,如果您搞砸了,您可以创建一个新的克隆。除了必须保存大量二进制数据的存储库(如艺术存储库)之外,我绝对会在几乎任何情况下推荐 Mercurial 而不是 SVN。

现在关于你的问题,

原则上,您可以为 Mercurial 存储库和 SVN 存储库使用相同的工作目录。您可能想将 .hg 和 .svn 添加到 SVN 和 Mercurial 的忽略过滤器,当然,您提交给 Mercurial 的更改不会自动提交给 SVN。然而,使用 Mercurial 作为本地开发的暂存器会很方便。如果您有两个 SVN 结帐要在其中执行此操作,您确实可以通过从一个到另一个拉或推来在 Mercurial 克隆之间交换数据。

老实说,在回答你的第二个问题时,我认为“更好的方法”就是学习 SVN 的分支和 merge 机制。在 SVN 之上运行 Mercurial 可能会非常麻烦,而且可能比它的值(value)更麻烦。如果你想尝试 SVN merge ,你可以制作一个测试 SVN 存储库来练习分支和 merge 。

如果您的同事决定使用 SVN 并且不想为 Mercurial 烦恼,那么您可能只能忍受它。也许有一些安慰是因为有很多人处于类似情况,我个人希望尽早停止使用 SVN,但不幸的是,在我以前和现在的公司中,我仍然坚持使用它。尽管在我现在的公司,他们愿意在未来的某个时候改变它,而且我们已经在使用 git 进行外部项目。

还有一件事我应该提一下:hgsubversion 扩展等工具允许您在 SVN 之上使用 Mercurial,将所有提交转换为 Mercurial 提交。不过我真的不建议这样做,特别是如果你是 Mercurial 的新手,SVN 和 Mercurial 之间的根本不匹配意味着如果你想将你的更改推回,分支是不可能的,你必须一直重新设置基准并且您很容易以数据丢失告终。

关于windows - 在本地使用 Mercurial 并在远程使用 SVN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7674735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com