2

我尝试archive通过打开我的 repo 更改日志在 Tortoise HG 中使用。这似乎不像 SVN 的export命令,我可以简单地将远程存储库导出到当前目录。我使用它来获取我的生产源的干净副本(没有注释和存储库数据)。我怎样才能在 HG 中做这样的事情?或者,我应该只使用克隆并手动处理与 repo 相关的数据吗?

顺便说一句,我需要通过命令行来完成这一切,因为我不会在我的 Linux 服务器上使用 Tortoise HG。

任何帮助深表感谢。

4

3 回答 3

8

你想要archive我认为的选项...

尝试:

hg help archive

您可以将存档仅导出为文件,或导出为 tar/zip/etc。

关键是归档时,您从 repo 开始并指定目标,而在 subversion 中,您从目标开始并指定 repo 的位置。

clone除了相关命令之外,Mercurial 似乎没有很多选项可用于在远程存储库上进行操作。

于 2010-06-14T16:09:43.590 回答
6

正如其他回复所指出的那样hg archive可以做你想做的事——它会做存档文件或只是一个文件布局,但如果你可以在服务器上运行 mercurial,我可能会建议让服务器成为一个克隆,并带有一个挂钩,每当有新的变更集时就会更新收到了吗?只要您不在实时服务器上进行编辑,就不会出现合并冲突,因此这是一个安全的操作。

在服务器上:

hg clone ssh://host//path/to/dev/repo

并在服务器的.hg/hgrc文件中添加这些行

[hooks]
changegroup = hg update

然后,当您更新开发存储库以进行部署时,您只需执行以下操作:

hg push ssh://server/path/to/deployrepo

然后你可以从你的仓库推送到你的服务器,它会自动更新。

于 2010-06-14T18:24:55.553 回答
5

如果您想要一个没有所有存储库数据的输出目录,只需在克隆后删除 .hg 目录即可。

于 2010-06-14T18:38:27.643 回答