我正在使用togoise hg,我的存储库包含subrepo。 subrepo非常大,需要很长时间才能更新。
有没有办法更新我的存储库但是跳过更新subrepo?
答案 0 :(得分:3)
update
命令旨在始终在整个存储库上运行。没有选项可以排除子参数。
但是,如果正确构建存储库,您应该能够实现所需。
我希望你遇到这个问题,因为你的项目回购看起来像这样:
parent/
.hgsub
.hgsubstate
subrepo/
your_project_file.py
通过上述结构,update
被强制对您控制的文件(parent
)以及您的subrepo进行操作。构建存储库的更好(也更灵活)的方法是:
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
,而无需更新您所依赖的库。
答案 1 :(得分:0)
这是我使用的技巧:
在另一个文件夹中拥有subrepo的本地存储库。我从我的一位同事那里复制了这个文件夹。
设置新的回购。拉动更改(不要更新)。 CLONE将当地subrepo放入新repo中的适当位置。现在更新和tortoiseHg只会获取该子区域中的差异。
此时,您的subrepo指向本地副本。一旦所有内容都更新到最新。将subrepo指向远程服务器中的子服务器。
当然,这只适用于您或某人已有副本的副本。