gpt4 book ai didi

version-control - 在克隆中进行更改时保持 Mercurial 子存​​储库最新的工作流程?

转载 作者:行者123 更新时间:2023-12-04 07:18:29 25 4
gpt4 key购买 nike

我已经阅读了有关 Mercurial 子存​​储库的所有问题,但我仍然不确定它是如何工作的。我们在 IIS 上使用 hgweb.cgi,所以我们所有的存储库都有 http://路径。

这是基本布局:

/Libraries - http://server/Libraries
/Project1 - http://server/Project1
/Project1/LibrariesSubrepo - http://server/Project1/LibrariesSubrepo (clone of libraries)
/Project2 - http://server/Project1
/Project2/LibrariesSubrepo - http://server/Project2/LibrariesSubrepo (clone of libraries)

在 .hgsub 文件中,我将路径设置为:
LibrariesSubrepo = LibrariesSubrepo

如果我想处理这些项目,我会将它们从服务器克隆到我的工作站,这样我就有了 Project1 和 Project2 的克隆,它也会自动提取子存储库。

在本地工作站的 project1 中,我对/Project1/LibrariesSubrepo 中的文件进行了一些更改。如何确保这些更改返回到服务器上库的源代码库?我是否必须手动将更改从子存储库推送到子存储库的源存储库?

我希望能够在本地对 Project1 存储库进行更改,然后提交/推送这些更改,然后在 Project2 中,我应该能够从应该将 Project2/LibrariesSubrepo 更新到最新版本的服务器中提取更改。

最佳答案

您绝对可以从 LibrariesSubrepo 手动推送在 Project1Libraries服务器上的存储库,然后从 Libraries 手动拉取进入 LibrariesSubrepo在 Project2 克隆中。

但是,您也可以链接服务器上的子存储库:

  • share extension允许您创建两个或多个共享 .hg 的存储库文件夹。在服务器上执行此操作,以便服务器上的子存储库的三个实例共享 .hg文件夹。
  • 符号链接(symbolic link).hg文件夹——更多oldschol,它只有在你可以创建符号链接(symbolic link)的服务器上才有效(Unix服务器或Windows Vista及更高版本具有正确的权限)。
  • 在服务器上只保留一个子存储库,但在 hgweb 中公开它三次配置。像这样:
    [paths]
    Project1 = /repos/Project1
    Project1/LibrariesSubrepo = /repos/Libraries
    Project2 = /repos/Project2
    Project2/LibrariesSubrepo = /repos/Libraries

  • 在所有情况下,服务器上实际上只有三个存储库: Project1 , Project2 , 和 Libraries .

    关于version-control - 在克隆中进行更改时保持 Mercurial 子存​​储库最新的工作流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7270810/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com