"hg purge" 已删除跟踪文件

"hg purge" deleted tracked file

我知道它是 st运行ge 但我正在更新我的测试用例并考虑从测试用例中删除所有未跟踪的文件所以 运行 hg purge,但除了删除未跟踪的file 它也删除了 230 多个测试用例的跟踪文件。

有什么方法可以恢复到原来的状态,或者我可以找回文件吗?这些文件在服务器上,所以我可以通过从服务器上拉取它来获取它,但这没有帮助,因为我必须再次更新它。

如果您修改了工作目录("modified" 通过 任何 方式),您可以轻松放弃更改并 return 到干净的状态。 -使用

的变更集

hg up -C -r .

是的,跟进@torek,hg purge 必须 不接触 跟踪文件,因为根据它 wiki

extension purges all files and directories not being tracked by Mercurial in the current repository

但我可以看到一种可能的情况,为什么它会发生。描述中的下一段阐明了主题

With the --all option, it will also remove ignored files

(以及下面的一些纯推测...)

如果您在.hgignore中有文件并且手动将这些文件添加到存储库中(您可以hg add 忽略的文件),清除 可能 可能会删除这些文件。

在return达到良好的回购状态

后,您可以(相当容易)验证我的想法
  1. 安装|添加 hg-isignored extension(Bitbucket,由于来自 HG 的 BB-refugee,很快就会消失)并检查版本化的无知状态,但被扩展文件删除(至少部分) - 你会看到来自 .hgignore
  2. 的结果和使用的模式
  3. (再次)尝试 hg purge --print 以获得已清除文件的列表。如果列表(已删除和忽略的版本控制文件)有交集,那么您将得到问题 "Why?"
  4. 的答案

我看不出 任何其他 这种扩展行为的原因