如何在mercurial pull / update中更新给定文件?

时间:2013-10-21 12:17:05

标签: mercurial pull

我有一个文件(某种数据库),当开发人员测试他们的代码并推送到一个中央的mercurial存储库时会更新。

我希望每个人都重复使用这个文件,因此每当我们的中央存储库中有一个pull / update时,本地版本应该被集中存储的版本替换。换句话说,我只想为该文件执行hg update -C,并在拉动时自动完成。

这可能与mercurial有关吗?

1 个答案:

答案 0 :(得分:0)

开发人员可以添加一个执行此操作的挂钩,但您无法创建它们(除非您可以控制他们的计算机)。

克隆的.hg/hgrc文件中的此类内容将删除本地文件,以便更新将其替换为新的:

[hooks]
preupdate = rm path/to/databasefile

当然,请记住,该更新将使文件的版本显示在用户正在更新的更改集中。因此,如果您执行hg update --rev 0,您将获得该文件的第一个版本,而不是最新版本中的版本。

顺便说一下,通常如果有一个文件变化很大并且不可合并的话,最好让它成为一个未经跟踪/被忽略的文件,例如,让你的启动脚本下载最新的版本