问题标签 [mercurial]

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 投票
2 回答
573 浏览

mercurial - Mercurial:冲突合并后编辑器不显示冲突文件

解决了在发生合并冲突时启动编辑器的问题后 - Mercurial: 检测到合并冲突时不显示编辑器

我现在有另一个问题,编辑器现在启动,但按以下顺序打开文件:

hello.c hello.c~base.???? 你好.c~其他.????

但我真正想看到的是突出冲突的文件,我希望它应该是第一个 hello.c,但 hello.c 只是显示了提示。

有什么建议吗?

问候,

克里斯

0 投票
3 回答
1033 浏览

ide - Mercurial 实践:与 IDE 和可扩展性一起使用

我不是 SCM 工具的经验丰富的用户,尽管我确信它们的用处,当然。我在以前的工作中使用了一些不起眼的商业工具,在当前的工作中使用了 Perforce,并在我的小型个人项目中使用了 TortoiseSVN,但我不喜欢到处都有很多 .svn 文件夹,进行搜索、备份等等难的。然后我发现了分布式 SCM 的兴趣,我选择了明显更简单(比 git)的 Mercurial 方式,仍然是为了我个人的个人需求。我正在学习如何正确使用它,阅读了 wiki 的一部分,并且正在阅读这本优秀的 PDF 书籍。

我经常看到重复,例如在Mercurial 工作实践中,“不要犹豫在本地使用多棵树。Mercurial 使这变得快速且轻量级。 ”和“为您处理的每个功能创建一棵新树。 ”。这些是有趣且明智的建议,但它们有点伤害了我使用集中式 SCM 的小习惯,在那里我们有一个“神圣的”中央存储库,其中分支经过精心规划(并由管理员处理),变更列表必须由(高级)同行检查和不得破坏构建等 :-) 开始在新分支上工作需要相当长的时间......

因此,鉴于上述情况,我有两个问题:

  • 在 IDE 等环境中进行大量克隆有多实用?如果项目有配置/设置文件、makefile 或 Ant 脚本或 shell 脚本或其他需要路径更新的东西怎么办?(是的,可能是个坏主意...)例如,在 Eclipse 中,如果我想编译并运行一个克隆,我必须再做一个项目,调整 Java 构建路径、运行/调试目标等等. 除非 Eclipse 插件可以简化该任务。我想念这里的一些设施吗?

  • 那怎么缩放?我读过 Hg 对于大型代码库是可以的,但我很困惑。在我的工作中,我们有一个大约 200 万行的 Java 应用程序(嗯,几个围绕一个大型通用内核),仅代码就占 110MB。在我的旧(2004)Windows 工作站上进行干净编译需要大约 15 分钟才能生成 50MB 的类文件!我没有看到自己克隆整个项目来更改 3 个文件。那么这里的做法是什么?

我还没有在我的阅读中看到这些问题,所以我希望这将成为一个有用的线程。

0 投票
8 回答
27971 浏览

mercurial - 是否可以在线浏览 OpenJDK 的源码?

是否可以像浏览 SourceForge 的项目一样在线浏览 OpenJDK 的源代码?我以前从未使用过 Mercury,所以我感到很困惑。

(注:我不想下载源码,只是想上网浏览一下,看看有些方法是怎么实现的。)

0 投票
7 回答
1826 浏览

git - 如何为另一个 SCM 提供 Git 存储库的 2 向镜像?(bzr,汞等)

在过去 6 个月左右的时间里,我一直在使用我们主要 Perforce 存储库的 2-way Git 镜像来评估我们的工作流程。我不得不说我爱上了使用它,但到目前为止它对我来说有一个致命的缺陷:它对 Windows 的支持很糟糕。

一般来说,这对我来说不是问题,但现在是。我需要在我的 Git 存储库中对一些本地提交的工作做一些工作,我无法从我需要工作的机器上得到它,因为这个盒子上的 Git 发行版存在一些无法解决的问题。

无论如何,如果可以的话,我想做的是运行第二个镜像:这次是从我的 Git 存储库中捎带,但通过 Mercurial 或 Bazar 提供服务。我发现了一些看起来很有前途的工具,并且博客评论中的一些参考资料说人们已经这样做了,但还没有完成。

那么谁能告诉我是否有一种简单的方法可以使用另一个可以在 Windows 上正常工作的DVCS来维护一个到 Git 存储库的 2 路镜像?

提前感谢您的麻烦...

杰米

0 投票
3 回答
26501 浏览

mercurial - mercurial 的最佳实践:分支与克隆,以及部分合并?

...所以我已经习惯了 Mercurial ( add, commit, diff) 的简单内容,并了解了 .hgignore 文件(耶!)并掌握了创建和在分支之间切换的窍门 ( branch, update -C)。

我有两个主要问题:

  1. 如果我在分支“Branch1”中并且我想从分支“Branch2”中提取一些但不是全部的更改,我该怎么做?特别是如果所有更改都在一个子目录中。(我想我可以克隆整个存储库,然后使用像 Beyond Compare 这样的目录合并工具来挑选和选择我的编辑。似乎应该有一种方法来隔离一个文件或一个目录中的更改。)

  2. 在分支之间切换update -C似乎很容易,我想知道为什么我会费心使用clone. 我只能想到几个原因(见下文)——还有其他一些我想念的原因吗?

    一种。如果我需要一次对两个版本/分支采取行动(例如,做一个性能指标差异)

    湾。用于备份(clone存储库到物理上不同位置的网络驱动器)

    C。像我上面提到的那样进行选择合并。

0 投票
6 回答
632 浏览

svn - 如何实现源控制管理互通?

虽然在我想了解如何实现两个源代码控制管理 (SCM) 系统之间的互操作性之前已经提出了相关问题。例如,我们可以考虑任何 SCM(Mercurial、Git、SVN、CVS、Perforce、ClearCase ...)。

我主要感兴趣的是 ClearCase 是否可以与 SVN 或 Git/Mercurial 一起使用。

我怎样才能让另一个 SCM 也维护一个远程 ClearCase 维护的源代码树(在 ClearCase 旁边)?

虽然其他人可以使用 ClearCase,但我们希望使用“其他”SCM 并在该存储库中提交更改。ClearCase 存储库中的更改应立即或定期进行(并且应定期从 ClearCase 存储库进行更新,以确保我们拥有最新的资源)

欢迎任何(其他/相关)示例/经验。谢谢 !

PS:这不是关于转储 ClearCase(我很乐意这样做),而是关于在同一个源代码树上同时使用两个源控件。

0 投票
5 回答
3405 浏览

svn - 是什么让一些版本控制系统更擅长合并?

我听说许多分布式 VCS(git、mercurial 等)比 Subversion 等传统 VCS 更擅长合并。这是什么意思?他们做了哪些事情来让合并变得更好?这些事情可以在传统的 VCS 中完成吗?

额外的问题:SVN 1.5 的合并跟踪是否完全符合竞争环境?

0 投票
7 回答
34060 浏览

command-line - Mercurial:命令行上的多行提交消息?

如何在命令行上为 mercurial 指定多行提交消息?

不起作用。日志显示:

0 投票
9 回答
29654 浏览

git - 如何将 git 存储库转换为 mercurial?

我一直在使用 git 作为源代码存储库开发一个 java 应用程序。我想与其他 java 开发人员共享该项目,而 hg 似乎是他们最常用的。

我的问题是如何将 git 存储库转换为 hg?

如果我尝试使用谷歌搜索“将 git 转换为 hg”,并且每次搜索命中都是关于从 hg 转换为 git。我也在使用TortoiseHg

0 投票
1 回答
1101 浏览

java - Mercurial 和一种 Java 项目的持续集成工作流

我工作的Java中有一个项目。

要在 Mercurial 中拥有该项目,我知道我必须为所有类创建一个存储库。

由于有很多类,我想如果我可以拥有一个由存储库副本加上我必须做的修改组成的 jar 副本。

所以用 Mercurial 术语来说有:

  1. 一个包含所有类的主仓库
  2. 一个带有修改和新类的小仓库

我想从 B 回购合并到 A 回购。然后我只想提取和更新 B 存储库中存在的类 (*.java)。

我试过这个没有成功:

  1. 要创建 B 存储库,我克隆 A 存储库并删除所有文件。
  2. 当我必须修改 .java 时,我会 wget在我的本地机器中的 mercurial 服务器上执行特定文件。当文件是新文件时,我只运行 hg add。
  3. 为了完成我hg commit -I file1 -i file2 ... -i fileN对 B repo 工作文件夹中存在的所有文件的提交。

然后是不成功的部分:

  1. 我不能只对现有文件进行 hg 更新。
  2. 当 B 存储库合并到 A 存储库时,一切正常。但是我不能运行带有-I 参数的合并状态的 hg commit。它的全部或全部。
  3. 当我从 A repo 中提取并尝试更新时,我遇到了同样的问题 4。

我知道hg pull -f从 B 回购的不相关回购开始,而不是克隆。但它有同样的更新问题。而且看起来很丑。

我认为移植插件可能会有所帮助。我还阅读了如何在 Mercurial 中结合两个项目?.

必须在 A Repo 中保留文件的历史记录,即使此历史记录是在 B Repo 中生成的。

您知道实现这一目标的最佳方法吗?

谢谢