Mercurial 和时间戳

Mercurial and timestamps

如果 "Adam" 在 2 月 28 日在本地提交他的更改,并且直到 3 月 12 日才将他的更改推送到 "Main repo",他的更改集上的时间戳仍然显示 "february 28"。我如何找出将更改推送到 "Main repo" 的日期?

我不相信 Mercurial 本身会自动跟踪它。相反,您必须在中央存储库上为其设置一个 hook。最明显的钩子是 "incoming" 钩子和 "changegroup" 钩子。你可以像这样设置一个钩子:

(将这些行添加到中央仓库的 .hg/hgrc 文件,必要时创建它)

[hooks]
changegroup.log = printf '%s\n%s' $(date -R) $(hg log "$HG_NODE::") >>/path/to/logfile.log

之后推送到该存储库的任何内容都将记录在 /path/to/logfile.log 中,您可以手动解析或读取它。我不确定日志文件是否需要是世界可写的才能工作;这可能取决于您的存储库设置。

Mercurial 不记录该信息。

需要一个pushlog来记录推送到服务器的时间。请参阅此 similar question 及其解释它们的链接。