我正在尝试找到从特定变更集中获取所有文件的最快方法;我不关心历史。
到目前为止,我发现的最好的事情是cd
进入存储库,然后
hg archive -u <changeset> /path/to/put/files
但是我发现即使它没有创建.hg
文件夹,即使在大型存储库中也很慢。
我在想也许我可以使用hg update
代替,因为它似乎运行得更快,但我不想更新当前目录,我希望将文件写入外部的新目录目前的回购这可能吗?
或者还有其他快速方法吗?
答案 0 :(得分:1)
您可以尝试以下方法来加快速度:
hg archive --config ui.archivemeta=false /path/to/target
此选项会抑制.hg_archival.txt
的生成,有时生成起来相对昂贵。
此外,hg update
可以在本地更快,因为并非所有文件都必须更新(仅相对于当前版本更改的文件)。 <{1}}或hg clone -U
之后的最新更新不应该更快。
您可以尝试递归硬链接(通过hg share -U
或类似工具),然后cp -al
,但是您必须格外小心,因为修改一个结帐中的文件会影响其他。这只是一个选项,如果您想要一个只读副本,或者您知道(如,肯定知道,而不仅仅是猜测)您不会对任何内容进行任何就地修改的文件。