删除并重新创建的文件必须单独修订?

时间:2012-03-18 07:55:43

标签: mercurial

我有一个名为' bootstrap.css'

的先前版本的CSS文件

我删除了文件并重新创建了一个名称相同的全新文件。

当我提交更改时,检测到原始bootstrap.css的删除。但是没有检测到新文件的创建。我提交后立即检测到新文件。

我能找到将新文件放入存储库的唯一方法是进行两次单独的提交。

我做错了什么吗?这是配置问题吗?或者它应该像那样工作?

(我使用的是TortoiseHg)

1 个答案:

答案 0 :(得分:0)

Mercurial不维护文件标识,因此您无法谈论“旧”bootstrap.css和“新”bootstrap.css。对于Mercurial,它只是存储在相同文件名下的数据。你会看到

$ hg log bootstrap.css

将交错两个文件的历史记录 - 因为Mercurial眼中只有一个文件。

这通常很好,并且可以像您期望的那样工作。你可以运行

$ hg remove bootstrap.css
$ echo '/* new and improved */' > bootstrap.css
$ hg add bootstrap.css

(或来自TortoiseHg的等价物),结果是修改了bootstrap.css

$ hg status
M bootstrap.css

修改只是意味着它与父修订版本不同。