2

我在 Ubuntu 机器上安装了 Rhodecode(mercurial 服务器)。我在设置期间指定了存储库目录。我使用 Rhodecode Web 界面创建了一个新存储库,并且能够从另一台机器克隆这个空存储库。我添加了一些文件并将我的更改推送到服务器。我可以在 Web 界面上看到推送成功,我也可以在 Web 界面上看到文件。但是,服务器上的存储库文件夹中没有文件。这是正常的吗?源文件不应该出现在服务器的存储库文件夹中吗?我能够克隆和推送更改,并跟踪我的更改。

4

1 回答 1

3

这很正常。该推送将更改放在服务器的存储库中,但不会对服务器的工作目录做任何事情。如果您想查看其中的文件,您可以执行hg update tip“使工作目录看起来像存储库中最新的变更集”。

然而,这在服务器上通常不被认为是一个好主意。在服务器上,您不希望文件四处游荡,因为人们可能会编辑它们而不是提交。相反,在您开发和运行测试的机器上拥有工作目录,并在服务器上保持工作目录为空。

如果您曾经hg update tip将存储库置于工作目录中有文件的情况下,您可以恢复为没有文件,但这样做hg update null会说“回到第一个变更集之前的样子”。

Git 有与此类似的东西,称为“裸存储库”,但它们的深度也不同(.git目录中的内容反而位于顶层)。

于 2012-03-29T03:01:25.207 回答