如何在不再次拉取子存储库的情况下进行本地克隆?

2024-01-10

我经常使用 Mercurial,在本地存储我的上游克隆,然后在本地再次克隆以适应我的实际工作环境:

$ cd /clones
$ hg clone ssh://external-repo.example.com/some/repo/path/foo
$ cd ~/Development
$ hg clone /clones/foo

这对我来说特别有用,因为我经常想在飞机等无法访问互联网的地方进行新的克隆。但是,当原始克隆包含子存储库时,这不起作用 - 存在.hgsubstate文件意味着hg将始终访问互联网,而不是获取本地克隆版本(即使它们是same)。有没有办法让本地克隆复制文件而无需访问互联网?

这个问题 https://stackoverflow.com/questions/3436549/mercurial-hg-clone-but-ignoring-all-subrepos有一个可能有效的答案,但对于长期管理来说似乎非常不幸(删除.hgsubstate文件在克隆中/clones/,然后从中制作本地克隆)。


您可以在您的目录中使用“简单”的子存储库路径.hgsub像这样的文件:

foo = foo
bar = bar

这是推荐设置 https://www.mercurial-scm.org/wiki/Subrepository#Recommendations。设置布局的优点是克隆具有结构相同作为您克隆的存储库。因此,您可以在飞机上克隆您的克隆体。

或者,您可以使用[subpaths] http://www.selenic.com/mercurial/hgrc.5.html#subpaths设置将 URL 重新映射到本地路径。这可以让你添加

[subpaths]
http://server/(.*) = /clones/libs/\1

to your ~/.hgrc文件,然后你会看到路径被重新映射到/clones/libs当你克隆时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不再次拉取子存储库的情况下进行本地克隆? 的相关文章

  • “中止:没有名为选择器的模块!”将 Mercurial 存储库推送到 Git 存储库时

    我正在尝试将 Hg 存储库转换为 Git 存储库 两者都是私有存储库 我已按照以下步骤操作 参考 http arr gr blog 2011 10 bitbucket converting hg repositories to git 第
  • git、mercurial、bazaar 源代码库的可理解性

    我想阅读一种流行的版本控制工具的源代码 以了解版本控制的工作原理 我想读一本最具可读性的书 我不知道对此有什么客观 定量的衡量标准 所以本着WTF 分钟漫画 http www osnews com story 19266 WTFs m 想请
  • Bitbucket:从提示绑定文件以供下载

    我在一个私人存储库中工作 并与我的朋友合作 他对 SCM 之类的东西不太友好 他所需要的只是监控我开发的最新版本 这是 1 个可执行文件 我想知道 而不是每次他想要获取最新更改时克隆整个存储库 有时我的更改集可能由几个仅在开发时使用而不是测
  • TortoiseHg无法提交--“系统找不到指定的文件”

    我刚刚选择了 TortoiseHg 用于 Windows 上的分布式源代码控制 并将其安装在我的 C 驱动器上 然后我创建了一个存储库 位于 D projects 中 当我尝试提交更改时 它给了我错误 abort None 系统找不到 指定
  • 将 Mercurial 存储库转换为 svn 存储库

    我知道你可以将 svn 存储库转换为 Mercurial 存储库 或使用 Mercurial 作为 svn 存储库的客户端 但我想要的是将 Mercurial 存储库转换为 svn 存储库 我们有一些使用 SVNKit 的工具 我们想继续使
  • 私人变更的用例

    假设我有以下场景 我克隆了一些开源项目 例如从 URL X 克隆的项目 现在我有了它的本地克隆 我对本地克隆进行了一些更改以尝试并在本地提交它们 现在我想要的是以下内容 我想从开源项目 X 获取更新 只需获取其所有最新代码 无需我进行任何更
  • Mercurial:虚拟合并后分支特定的更改不断返回

    我有一个 Mercurial 存储库 有两个永久分支 默认分支和 UAT 每隔一段时间 我们就会将应用程序的新版本部署 升级 到 UAT 环境 并通过将稳定的默认提交合并到 UAT 分支来实现这一点 有时 UAT 分支中的错误会得到修复 并
  • 我怎样才能让两个“发展流”(分支?)相互跟踪,同时在特定方面保持不同?

    BRIEF 我想让两个 或更多 开发流 环境相互跟踪 在两个方向上发送彼此之间的更改 而不完全收敛 同时保留某些关键的 本质的差异 细节 一个具体的例子 下面是一个具体的例子 我对我的主目录 glew home 进行版本控制已有 28 年了
  • 如何将 N 个本地最顶层提交转换为 MQ 补丁?

    我想将我的最后一次提交安排为 MQ 补丁 所有提交都是本地的 从不推送到服务器 但并非所有本地提交都会被转换 假设我进行了 10 次提交 从未推送 现在我希望将最后 5 次提交转换为补丁 我该怎么做 简洁版本 hg qimport r 5
  • 为什么这段 C# 代码不起作用?我正在尝试将 shell 的输出读取到 TortoiseHG (Mercurial)

    我正在尝试让 Mercurial 在我的 C wpf 应用程序的 shell 中运行 我的目的是将输出检索到字符串中 以便我可以解析它 对我来说不幸的是 hg exe 来自 tortoiseHg 似乎不会通过下面的代码返回任何内容 其他 e
  • 是否可以同时从多个 Mercurial 存储库中提取数据?

    我希望能够做这样的事情 hg pull http server repo1 http server repo2 http otherserver repo 并让所有变更集立即下来 添加了 x 变更集 并对 z 文件进行了 y 更改 消息聚合
  • 从 SVN 转换为 Git 时,如何将修订号放入提交消息中?

    我们将把我们的存储库从 Subversion 转换为 Git 但希望能够保留 SVN 修订号 因为错误跟踪器中的注释会定期引用它 我们将使用git svn clone以及中描述的过程约翰 阿尔宾的博客 http john albin net
  • 如何将 git 存储库转换为 Mercurial?

    我一直在使用 git 作为源代码存储库开发 java 应用程序 我想与其他 java 开发人员分享该项目 hg 似乎是他们最常用的 我的问题是如何将 git 存储库转换为 hg 如果我尝试谷歌搜索 将 git 转换为 hg 并且每次搜索命中
  • 有趣的是,当为 Mercurial 添加 .hgignore 时,该文件本身显示为“?”汞状态?

    正常吗 所以你只需要添加 hgignore到列表中忽略自身 是的 但你不想忽视 hgignore文件 当新人查看您的存储库时 您不希望他们获得您的忽略文件列表吗 相反 做hg add hgignore hg commit 底线 hgigno
  • 为 Eclipse 安装 Mercurial 插件时出错

    我刚刚为 Eclipse 安装了一个 Mercurial 插件 安装过程很顺利 但是安装后 当我重新启动 eclipse 时 显示错误 错误说 发生了多个 Mercurial 错误 请检查错误日志视图以获取详细信息 命令行 hg y deb
  • 在 Clearcase 上使用 Mercurial 时保留历史记录

    我在 ClearCase 商店工作 CC 在集成团队的工作方面做得很好 尽管我们的代码审查流程阻止我使用它来跟踪我的日常更改 在我的 CC 视图之上创建 hg 存储库效果非常好 我可以跟踪我的更改并轻松在文件服务器上进行备份 为人们生成差异
  • 为什么java.lang.Cloneable不重写java.lang.Object中的clone()方法?

    Java 规范java lang Cloneable接口将自身定义为表示扩展它的任何对象也实现了clone 休眠的方法java lang Object 具体来说 它说 一个类实现了Cloneable接口来指示java lang Object
  • Mercurial 和 TortoiseHG - 推送更改后更新远程存储库

    将更改推送到远程存储库时 是否无法自动运行更新以使更改 文件可用 Use changegroup挂在远程端 如Mercurial 常见问题解答中进行了描述 http mercurial selenic com wiki FAQ FAQ 2F
  • Mercurial:如何管理公共/共享代码

    我将 Mercurial 用于个人用途 并出于各种原因考虑将它作为 SVN 的替代品用于某些分布式项目 我已经习惯将它用于自包含项目 并且可以看到各种共享选项 但是我还没有找到任何关于管理公共库的指南 以与 subversion 中的外部提
  • 如何让 mod_wsgi 在 Mac 上运行?

    几个小时以来 我一直在尝试在 Mac 上安装最新版本的 mod wsgi 3 3 我使用的是 Snow Leopard 并且有系统附带的 Apache Apache 2 2 15 和 Python 2 6 1 r261 67515 版本 我

随机推荐