如何跳过 tortoise hg 中的子存储库

发布于 2024-12-01 12:56:54 字数 85 浏览 1 评论 0原文

我正在使用 tortoise hg,我的存储库包含子存储库。子存储库非常大,更新需要很长时间。

有没有办法更新我的存储库但跳过更新子存储库?

I am using tortoise hg and my repository contains subrepo. The subrepo is very large and takes really really long time to update.

Is there a way to update my repository but skip updating the subrepo?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

顾忌 2024-12-08 12:56:54

update 命令旨在始终对整个存储库进行操作。没有排除子存储库的选项。

但是,如果您正确构建存储库,您应该能够实现您所需要的。

我预计您会遇到这个问题,因为您的项目存储库如下所示:

parent/
    .hgsub
    .hgsubstate
    subrepo/
    your_project_file.py

使用上述结构,update 被迫对您控制下的两个文件(在 parent 中)进行操作)以及您的子存储库。构建存储库的更好(也更灵活)的方法是:

build_repo/       # top-level repo that is empty except for .hgsub
    .hgsub
    .hgsubstate
    your_repo/    # your code as a subrepo
    subrepo/      # the library code as a subrepo

使用此结构,您可以更新 your_repo 而无需更新您所依赖的库。

The update command is intended to always operate on the entire repository. There is no option to exclude a subrepo.

However if you structure your repository correctly, you should be able to achieve what you need.

I expect that you run into this problem because your project repo looks like this:

parent/
    .hgsub
    .hgsubstate
    subrepo/
    your_project_file.py

With the above structure, update is forced to operate on both the files under your control (in parent) and also your subrepo. A better (and more flexible) way to structure your repository is this:

build_repo/       # top-level repo that is empty except for .hgsub
    .hgsub
    .hgsubstate
    your_repo/    # your code as a subrepo
    subrepo/      # the library code as a subrepo

With this structure, you could update your_repo without requiring an update to the libraries you depend on.

烟凡古楼 2024-12-08 12:56:54

这是我使用的一个技巧:

  • 在另一个文件夹中拥有子存储库的本地存储库。我从同事那里复制了该文件夹。

  • 设置新的存储库。拉取更改(暂不更新)。将本地子存储库克隆到新存储库中的适当位置。现在更新和 tortoiseHg 将仅获取该子存储库中的差异。

  • 此时,您的子存储库指向本地副本。一旦一切都更新为最新。将子存储库指向远程服务器中的子存储库。

当然,只有当您或某人已经拥有子存储库的副本时,这才有效。

Here is a trick that I use:

  • Have a local repository of the subrepo in ANOTHER folder. I copied the folder from a colleague of mine.

  • Setup new repo. Pull the changes (don't update yet). CLONE the local subrepo into the appropriate location in the new repo. Now update and tortoiseHg will only fetch the diff in that subrepo.

  • At this point, your subrepo points to the local copy. Once everything is update-to-date. Point the subrepo to the one in remote server.

Of course, this only works if you or somebody already has a copy of the subrepo.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文