在Mercurial中,如何在过去24小时内将修订推送到回购?

时间:2011-05-01 20:16:04

标签: mercurial

我有一个Mercurial存储库,有几个人从他们自己的本地存储库推送。我希望能够在过去24小时内查询此中央存储库以查找到达该存储库的所有更改,特别是不仅 已提交的更改过去24小时。

hg log --date 选项不能满足我的需要。它仅根据提交日期细化选择。因此, hg log --date -1 从昨天开始提交我的修订版,但是三天前没有提交修订版,但今天只有推送到此repo 。 / p>

如果我能找到不到24小时前到达回购的最早版本的修订号(或id),那就可以了。但我看不到任何东西 - 即使在 hg help revsets - 看起来它会起作用。

2 个答案:

答案 0 :(得分:10)

您可以使用pushlog,它是您配置服务器端的Mercurial扩展程序。

基本上,您安装必需的文件,并配置服务器存储库挂钩以在每次推送时调用pushlog,然后只要有人推送到该存储库,脚本就会记录。

不幸的是,我对这个页面上的内容并不了解,我在Mercurial的IRC频道上询问并在那里得到了这个名字。

您可以在此处查看日志示例:calc pushlog

此外,您可以使用包含此类日志的Web系统。这是我今天更改后Kiln日志的样子。

Kiln activity log

答案 1 :(得分:1)

我不知道有一种内置方法可以做到这一点,但你可以以迂回的方式获取这些信息。编写一个脚本来每天克隆主回购,并相应地命名;说project1-2011-4-31project1-2011-5-1\。然后,看一下从一个到另一个的传入是一件简单的事情:

cd %projectdirectory%\dateclones
cd project1-2011-3-25
hg incoming ..\project1-2011-5-1

在克隆project1-2011-3-25和克隆project1-2011-5-1之间推送所有更改。