问题标签 [mercurial-subrepos]

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 投票
1 回答
81 浏览

mercurial - 如何更改共享子存储库 url

我们有一个存储库副本,每 4 小时更新一次,指向另一个 url。问题是 .hgsub 的路径仍然指向原始存储库 URL。我们如何更改副本存储库中的子存储库路径。因为每次尝试更新子存储库时都会出现克隆失败错误。请指导

0 投票
3 回答
353 浏览

ssh - 如何防止 HG Workbench 使用子存储库询问用户名?

我通过 ssh 连接使用 HG Workbench 和子存储库。我还使用 ssh-rsa 来避免每次都输入密码。这对主存储库很有用。但是,如果我推或拉 HG 工作台(或命令外壳),则提示带有一个对话框来为每个子存储库输入我的登录名。我可以防止这种情况吗?

更新:

我用窗户。此外,我的全局和每个子存储库中都有一个[ui]部分。usernamemercurial.inihgrc

0 投票
1 回答
62 浏览

mercurial - 克隆到 Mercurial Hg

我已经开始将存储库克隆到我的本地计算机。该存储库包含 2 个子存储库。首先,这两个子存储库引用了其他存储库到同一个 mercurial(.hgsub 文件包含路径)。后来(正如我在文件修订历史中看到的那样)另一位程序员修改了 .hgsub 文件,使用另一个路径指向同一个命名存储库,该存储库托管在另一台服务器上,我无法访问。后来他将这些子存储库引用回我们服务器上的主存储库。因此,最新的存储库仅包含来自我们服务器的代码。

所以我开始克隆存储库。Mercurial 显然应用了从一开始所做的所有修改。当涉及到修订子存储库路径发生更改时,它会要求对其他服务器 Mercurial 进行授权。我无权访问该服务器。因此,克隆过程在此处停止,状态为 Failed。我已经分别克隆了这两个子存储库,并将它们复制粘贴到本地存储库的适当位置。打开主解决方案并尝试构建它,但由于某些项目对库的引用已过时而出现错误。我删除了它们并再次引用。尝试再次构建,但某些库不包含某些方法。由于克隆不成功,我无法将它们更新到最新版本。我不知所措。有没有人遇到过类似的情况?

0 投票
1 回答
153 浏览

mercurial - 在 Mercurial 的子文件夹中添加子存储库

我想在子文件夹中有一个子存储库。

这是我的 hgsub 文件中的行:

Common\Vectors = http://my.rhodecode.org/DotNETSources/DotNETCommon/Vectors

起初它似乎奏效了,因为 TortoiseHG 展示了 subrepos 并没有立即崩溃。但是,我似乎无法对父仓库提交更改。提交没有打嗝,但子存储库仍被标记为已更改,并且 .hgsubstate 文件没有更改。

这甚至可能吗?我该怎么做呢?

0 投票
3 回答
1747 浏览

git - 将带有子存储库的 mercurial 存储库迁移到 git 并保留历史记录的最佳方法?

我正在尝试将 mercurial 存储库迁移到 git,但问题是 mercurial 存储库具有子存储库(有些带有分支),并且本身有很多合并和分支。我希望最终的 git 存储库保留所有这些历史记录,并且在检出存储库或其他分支的早期部分时是正确和完整的。我不需要新的存储库有子模块或子树,尽管我也接受使用它的解决方案。我见过的一些方法将新存储库顶部的所有子存储库合并为分支,这意味着过去签出不包含子存储库中的所有文件。我也尝试过将所有内容作为分支导入,将头部重置为过去,合并和向上变基,但是合并太多并且出现了很多冲突,即使使用--preserve-merges,所以我宁愿避免这种情况。我也找不到任何方法将 git 中的 mercurial 子存​​储库更新历史记录复制为子模块更新历史记录。有没有人有任何想法?谢谢你。

0 投票
1 回答
808 浏览

mercurial - 在具有子存储库的存储库上使用 PULL 的 Mercurial CLONE 不会创建完全独立的存储库

我有一个 shell 存储库 OriginalWithSubrepo,其中包含一个包含一堆实际文件的子存储库 Sub。

当我像这样克隆 OriginalWithSubrepo

如此创建的克隆只包含几个 mercurial 管家文件,原始 Sub\.hg 目录中没有实际数据。我不知道这些文件是什么意思,但显然它们足以重新创建存储库,因为当我在克隆中更新工作目录时,整个文件都会被所有文件填满,包括 Sub\.hg 目录中的文件。但是,如果我克隆,然后重命名原始文件,然后尝试更新克隆文件,则说没有找到 OriginalWithSubrepo 是行不通的,这意味着它全部基于指向原始文件的链接。

当我使用更新运行克隆或克隆没有子存储库的存储库时,不会出现此问题。

当我克隆到网络共享时,它的行为相同,这是我真正希望它工作的地方。

那么如何使用 subrepos(w/oa 同时更新)对 repo 进行完全独立的克隆?

Windows XP,hg 版本 3.4.1

0 投票
1 回答
306 浏览

svn - 将 SVN 子存储库添加到 Mercurial 后的 TeamCity 错误

我将 SVN 项目作为子存储库添加到我的 Mercurial 项目(按照说明),现在 TeamCity 无法构建 Mercurial 项目。我收到以下错误:

当我在本地克隆存储库时,一切正常,但 TeamCity 没有看到子存储库,并且更改图中没有子存储库。我尝试添加不同的构建步骤,但没有帮助。我还尝试将 TeamCity 中的 VCS 结帐模式更改为代理结帐,但由于自签名证书而出现另一个错误:

但是,结帐模式不应成为错误的原因,因为该问题已在 TeamCity 8 版本(我们使用 8.0.6)中得到解决。

我应该如何配置 TeamCity 以在 Mercurial 存储库中使用 SVN 子存储库?

谢谢。

升级版:

我终于找到了答案:虽然我需要在代理上执行结帐时修复错误(添加证书或强制它信任所有)并且问题解决了!

0 投票
3 回答
487 浏览

mercurial - 如何在提交之间查看子存储库中的更改

我有一个带有 subrepos 的 mercurial repo(也是 mercurial)。想象一下我更改了子存储库和主存储库的情况。现在我想查看几个提交之间的更改,包括子存储库中的更改。

可能吗?

我使用 TortoiseHG 和 diffmerge。在从 TortoiseHg 调用视觉差异的 diffmerege 中,我看不到几个提交之间子存储库中的变化。

0 投票
0 回答
111 浏览

svn - 子存储库或 guestrepo 中的 Mercurial 部分克隆

是否可以将 mercurial 存储库的部分克隆作为子存储库或 guestrepo?

描述:

给定一个https://blah/hg/foo/名为的仓库foo和另一个名为cat的仓库,我想cat从某个目录下创建一个 guestrepo foo,例如。从中。c_foo:/a/b/c/

据我所知c,它不能作为独立的存储库使用。foo假定只读访问。

我的意图是让cat:/d/e/c/客人位置,如果foo:/a/b/c/发生变化,则更新。这被认为是与svn:externalsin类似的行为svn

Guestrepo扩展:

我开始尝试GuestrepoExtension

.hggrmapping

.hgguestrepo

问题是我不知道如何引用子目录,因为我不需要整个foo存储库,只需要这个目录及其内容。

根据https://www.mercurial-scm.org/wiki/PartialClone部分克隆/子目录的克隆未在 mercurial 中实现(提到的Bug 105自 2012 年以来已关闭)。这就是为什么,

子库:

目前我求助于使用子存储库,因为巧合的是,该c目录存在于 svn 镜像中。

.hgsub:

这有一个缺点,我不想依赖外部版本控制,即。svn、存储库和工具可用性。

这可以以某种方式纯粹以善变的方式处理吗?

0 投票
1 回答
232 浏览

mercurial - Mercurial guestrepo 扩展:范围和用例

我正在查看 mercurial guestrepo 扩展,但我无法真正确定它提供了什么,而不是简单地实例化彼此嵌套的存储库(即未定义为子存储库)。

唯一的优点似乎是可以在每个来宾存储库(以及它的来宾)上执行单个命令操作(例如推/拉),而不是为每个嵌套存储库单独执行。

Guestrepo 不允许“主机存储库”跟踪在来宾存储库中进行的任何本地更改,这可能导致“主机存储库”和本地修改的来宾存储库之间的代码状态不一致。

我是否正确理解了此扩展的范围?此扩展的用例是什么。在这一点上,文档对我来说太抽象了。