问题标签 [hgsubversion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
2570 浏览

svn - mercurial 和 subversion 之间的互操作

最近有人问了一个类似的问题,但不一样。

Mercurial 网站有一个详细的页面列出了 4 种不同选项的比较,以使 Mercurial 和 Subversion 互操作。

我想知道是否有人尝试过其中的一种或多种,​​并且可以将任何非常好的或非常糟糕的经历联系起来。hgsubversion 下载的注释说

hgsubversion 是 Mercurial 的扩展,它允许将 Mercurial 用作 Subversion 客户端。现在它还没有准备好用于生产。仅当您准备好破解它并深入研究 Mercurial 和/或 Subversion 的内部时,才应该使用它。

这几乎是在向我展示“放弃希望,所有进入这里的人”或“入侵者将被逮捕”的标志。所以我只是想知道对于没有太多额外时间的人来说,这个或任何其他替代方案是否值得尝试。

0 投票
5 回答
442 浏览

svn - Subversion:编辑或不编辑提交评论

我正在与管理层讨论 Subversion 实践。我已经要求他们告诉管理员配置我们的 Subversion 存储库,以便之后可以更改提交评论,以防我错过了校对 :-)。

我的论点是,

  • 可以更改需要改进的日志消息,例如更广泛的评论或拼写错误。
  • 输入日志消息时很容易出错,这样可以恢复它们。
  • 当犯错时,每个人都应该有第二次机会:-)
  • 如果将源代码和注释从存储库导出到第三方,如果发现不正确的日志消息,这将是有价值的。如果无法更改或仅在导出的文本文件中更改注释,则所有内容都将变得不同步。

缺点是,

  • 日志消息更改本身不会被验证,因此旧消息显然丢失了。

我们的管理层拒绝了我的变更请求,因为“增加了管理成本”和“之后能够进行变更的风险更高”。显然,我要求进行更广泛的解释。

无论如何,你们对此有什么意见吗?你怎么看?之后可以编辑日志消息吗?你能给我更多的专业人士告诉管理层吗?

我认为这限制了开发人员的自由,作为我的开发人员,我希望最大程度的自由茁壮成长 :-)

0 投票
1 回答
147 浏览

svn - 只用 hg 克隆一个特定的目录?

我来自 Subversion 背景,但我正在慢慢迁移到 Mercurial。

在开始我的许多项目时,我会设置一个开发环境,该环境配置为开发应用程序/webapp/程序的特定起点(很像 Maven 2 原型,但不一定是 Java/Maven)。

后来我会通过它的特定路径从我的svn repo中签出这个原型/模板项目;然后从存储库的版本控制中导出工作副本;这样我就可以将工作副本重新导入另一个存储库,而无需将我对工作副本所做的更改添加到模板/原型项目的基础中。

我曾尝试在 Mercurial 中做同样的事情,但由于无法hg 存储库中克隆特定路径, 所以我遇到了障碍。

如果我想使用 Mercurial 实现相同的功能,我应该怎么做?
使用标记的分支?原型/模板项目非常不同,但我想将它们保存在同一个存储库中。

0 投票
2 回答
973 浏览

mercurial - Mercurial How To Merge 2 个共享共同祖先但不是同一存储库的克隆的存储库

我正在使用 hg-subversion,我有 2 个不同的 hg 存储库,一个来自我们的 svn 主干,一个来自主干的一个分支。我想以某种方式将它们联系起来。在历史的某个时刻,两个 Hg 存储库将是相同的,有什么方法可以加入它们吗?

换句话说,有没有办法从 Hg 中关联存储库?

我目前使用的技术是将第二个存储库导出到他们共享的修订版的工作副本之上,然后将该工作副本作为 Hg 中的一个分支提交,但我以这种方式丢失了历史记录。

任何建议都会很棒

0 投票
3 回答
2170 浏览

svn - 我可以在本地使用 Mercurial,并从 Subversion 存储库更新/推送到 Subversion 存储库吗?

作为一名自由职业者,我经常在使用 Subversion 存储库的公司工作。

如果我可以使用 Mercurial 从这些存储库中获取代码,在我离线时跟踪我的更改,然后在我重新在线时将我所有的本地更改提交到公司的 Subversion 服务器,那将会很方便。

这行得通吗?你读过任何关于细节的好教程吗?

0 投票
3 回答
5032 浏览

svn - Mercurial 到 Mercurial 到 Subversion 工作流问题

我们正在从 Subversion 迁移到 Mercurial。为了便于迁移,我们正在创建一个中间 Mercurial 存储库,它是我们的 Subversion 存储库的克隆。所有开发人员都将开始切换到 Mercurial 存储库,我们将定期将更改从中间 Mercurial 存储库推送到现有的 Subversion 存储库。一段时间后,我们将简单地废弃 Subversion 存储库,中间的 Mercurial 存储库将成为新的记录系统。

我一直在对此进行测试,但是当我将更改从本地存储库推送到中间 Mercurial 存储库,然后再推送到我们的 Subversion 存储库时,我一直遇到问题。

替代文字 http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/01.png

在我的本地机器上,我有一个已提交并准备好推送到我们的中间 Mercurial 存储库的变更集。在这里你可以看到它是带有哈希 625 的修订 #2263...

替代文字 http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/02.png

我只将此变更集推送到远程存储库。

替代文字 http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/03.png

到目前为止,一切看起来都很好。变更集已被推送。

我现在切换到远程存储库,并更新工作目录。

接下来,我将更改推送到 Subversion,效果很好。此时,更改位于 Subversion 存储库中,我将注意力返回到本地客户端。

替代文字 http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/04.png

我将更改拉到本地计算机。嗯?我现在有两个变更集。我的原始变更集现在显示为本地分支。

替代文字 http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/05.png

另一个变更集有一个新的修订号 2264 和一个新的哈希 10c1...

替代文字 http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/06.png

无论如何,我将本地存储库更新为新版本。

替代文字 http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/07.png

我现在换了。

替代文字 http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/08.png

因此,我最后单击“确定并标记传出变更集”,如您所见,Mercurial 仍然希望推出我以前的变更集,即使它们已经被推送。

显然,我做错了什么。

我也无法合并这两个修订版。如果我在本地机器上合并这两个修订,我最终会得到一个“合并”提交。当我将该合并提交推送到中间 Mercurial 存储库时,我无法再将更改推送到我们的 Subversion 存储库。我最终遇到以下问题:

我必须回滚合并才能恢复到工作状态。

我错过了什么?

0 投票
3 回答
3392 浏览

version-control - 如何处理与 hgsubversion 的合并?

我正在尝试为使用 Subversion 的项目做出贡献。我使用 Mercurial 及其 hgsubversion 扩展来克隆 repo。我的工作发生在功能分支上。

如何使功能分支与默认分支(hg speak)又名主干(svn speak)上发生的东西保持同步?

所以我曾经hg up feature更新到功能分支,然后hg pull它给了我默认分支上的变更集。所以我做hg merge default了,提交了合并,然后尝试hg push将我的变更集发送到 Subversion。Mercurial 说:“对不起,找不到合并修订的 svn parent。”

0 投票
1 回答
477 浏览

svn - git-svn 在大型 svn repo 的子集上

回购布局:a/1 a/2 a/3 ... b/1 b/2 ... c/1 c/2 ...

如果我在 1 个 svn repo 子目录上工作,git-svn 非常适合我。但现在我面临着处理几个子目录(如 a/1、a/2 和 b/1)的需要,除了它们之外,repo 中还有很多垃圾。我已经设法为此编写了一个正则表达式,但是带有 --ignore-paths 的 git-svn 似乎会根据这个正则表达式检查每个文件的名称,而不是跳过整个文件夹,所以它太慢了。/* 也许我应该提交一个关于这个的错误报告 */

那么 - 处理这个的任何想法?如果某些 Mercurial svn 代理可以进行选择性克隆,那也可以,但我最好坚持使用 git。我的另一个想法是一些选择性的 svn 代理,但我没有成功搜索过类似的东西。谢谢!

0 投票
3 回答
3906 浏览

svn - 使用 git-svn(或类似的)*just* 来帮助进行 svn 合并?

我的项目中出现了一些复杂的颠覆合并:已经分开很长时间的大分支。Svn 提供了太多的冲突——其中一些似乎是虚假的。


鉴于它git以卓越的合并体验而受到称赞,git-svn 仅仅为了使合并更易于管理而使用它会有什么好处吗?


您能否推荐其他替代方案(例如svk, hgsvn)来减轻合并的痛苦?

有些冲突很容易解决(例如 java 导入、空格)——所以我也想知道是否有针对这些的自动化解决方案。

将来可能会完全切换到 DVCS(我们中的一些人会喜欢的),但不是现在。(更新:这不再是真的 - 团队最近完全切换并且对此感到高兴)。

提前致谢。

PS:有些帖子似乎相关(例如git-svn merge 2 svn branches),但他们并没有完全回答这个问题。

更新:在这条路下(和上)之后看到我的-新手回答。

0 投票
5 回答
5324 浏览

svn - 你如何让 hgsubversion 工作?

hgsubversion 的在线文档很糟糕,IMO(我不想这么说)。我一直按照快速入门中的说明进行操作。

我做了什么?

  1. 我安装了 Mercurial:

    D:\repos\experimental>hg --version Mercurial 分布式 SCM(1.6 版)

  2. 我安装了 TortoiseHg 以匹配 Mercurial 版本。

  3. 我下载了 hgsubversion 存储库:

    D:\devapps> hg 克隆http://bitbucket.org/durin42/hgsubversion

  4. 我修改了我的 .hgrc 如下:

    [扩展] hgsubversion=D:\devapps\hgsubversion\hgsubversion

    D:\repos\experimental>hg help hgsubversion hgsubversion 扩展 - 与 Subversion 存储库集成

    hgsubversion 是 Mercurial 的扩展,允许它充当 Subversion 客户端,提供快速、增量和双向同步。

  5. 为 Python 2.5 安装了 PySVN

  6. 我试图克隆一个 SVN 存储库:

    ...> hg 克隆http://path/to/repository/ repository-hg

我得到了以下结果:

怎么回事?我遵循的说明中没有任何内容告诉您如何安装它。任何帮助是极大的赞赏!!(我只是想要一种在没有 SVN 的情况下尽可能多地工作的方法——请帮助!)。