我有一个文件(某种数据库),当开发人员测试他们的代码并推送到一个中央的mercurial存储库时会更新。
我希望每个人都重复使用这个文件,因此每当我们的中央存储库中有一个pull / update时,本地版本应该被集中存储的版本替换。换句话说,我只想为该文件执行hg update -C
,并在拉动时自动完成。
这可能与mercurial有关吗?
答案 0 :(得分:0)
开发人员可以添加一个执行此操作的挂钩,但您无法创建它们(除非您可以控制他们的计算机)。
克隆的.hg/hgrc
文件中的此类内容将删除本地文件,以便更新将其替换为新的:
[hooks]
preupdate = rm path/to/databasefile
当然,请记住,该更新将使文件的版本显示在用户正在更新的更改集中。因此,如果您执行hg update --rev 0
,您将获得该文件的第一个版本,而不是最新版本中的版本。
顺便说一下,通常如果有一个文件变化很大并且不可合并的话,最好让它成为一个未经跟踪/被忽略的文件,例如,让你的启动脚本下载最新的版本