如何从Mercurial克隆中删除工作副本?

时间:2010-11-11 20:00:13

标签: mercurial repository clone working-copy bare

使用mercurial克隆存储库时,可以传递-U / - noupdate标志以创建没有工作副本的克隆。如果忘记在克隆时传递此标志,是否可以删除工作副本?如果是这样,怎么样?

这在概念上类似于this git question,但对于mercurial。

2 个答案:

答案 0 :(得分:81)

我可能会错过这里的细微差别。有人可以纠正我。

Mercurial wiki的文档说明了关于裸存储库的信息:

虽然这是一个小问题,但Mercurial显然可以处理一个裸存储库;也就是说,没有工作副本的存储库。在Git中你需要一个配置选项,而在Hg中你只需要检查out null null修订版,如下所示:

  

hg update null

空修订版是您刚刚完成hg init时的空状态。它是修订版0的父级(以及所有非合并修订版的第二个父级),并通过更新回来再次获得一个空的工作副本。

链接可能看起来很讽刺:

答案 1 :(得分:-20)

rm -rf *

这将删除所有“可见”文件(在* nix下)。由于Mercurial存储库存储在“隐藏”文件.hg中,因此不会触及它。不幸的是,您自己的隐藏文件也不会,例如.hgignore

要恢复工作副本,我确信有一个hg update标志可以正常工作,但这也是:

hg revert --all