gpt4 book ai didi

mercurial-subrepos - Mercurial : Converting existing folders into sub-repos

转载 作者:行者123 更新时间:2023-12-04 06:13:11 25 4
gpt4 key购买 nike

我有一个如下所示的 Mercurial 存储库:

SWClients/
SWCommon
SWB
SWNS

...其中 SWCommon 是其他两个项目通用的库。现在,我想将 SWCommon 转换为 SWClients 的子存储库,因此我按照说明操作 herehere .但是,与第一个链接中的示例相反,我希望我的子存储库与开头的文件夹具有相同的名称。详细来说,这就是我所做的:

创建文件map.txt如下
include SWCommon
rename SWCommon .

创建一个文件 .hgsub 如下
SWCommon = SWCommon

然后运行
$ hg --config extensions.hgext.convert= convert --filemap map.txt . SWCommon-temp
...lots of stuff happens...

然后
$ cd SWCommon-temp
$ hg update
101 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ..
$ mv SWCommon SWCommon-old
$ mv SWCommon-temp SWCommon
$ hg status
abort: path 'SWCommon/SWCommon.xcodeproj/xcuserdata/malte.xcuserdatad/xcschemes/SWCommon.xcscheme' is inside nested repo 'SWCommon'

......确实如此,但为什么这是中止的理由?另一个奇怪的事情是,如果我不执行上面的最后一个 'mv' 并且我执行一个 'hg status',那么我最终会在 SWCommon 中发现很多“丢失”的文件,正如您所期望的那样。链接中的示例从未如此深入并且基本上停止在上面的 hg 更新上?你如何让它在实践中发挥作用?

最佳答案

目前不可能。您可以创建一个新的存储库,将原始存储库转换为:

$ hg --filemap excludemap.txt SWClients SWClients-without-SWCommon

使用 excludemap.txt ,如:
exclude "SWCommon"

然后在那里添加子仓库。
$ hg --filemap map.txt SWCommon SWClients-without-SWCommon/SWCommon
$ cd SWClients-without-SWCommon
$ hg add SWCommon
$ hg ci -m "Created subrepo"

mailing list thread讨论这个问题。

关于mercurial-subrepos - Mercurial : Converting existing folders into sub-repos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7550570/

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