这是我知道的一个常见问题,但我想将它提升到一个新的水平,我知道如何使用捆绑包,但是不得不通过“hg log”来查看我的最后更改有点无聊,所以我想使其自动化,通过 bash/awk 检查我的日志并通过日期和邮件识别工作/家庭更改(我在 .hgrc、me@work 和 me@home 中有不同的邮件)。
我已经有了这个 bash 功能,但我必须手动传递基本修订:
hgb () {
hg bundle --base $1 ~/changes-`date +%Y-%m-%d-%H-%M`.hg
}
所以我想要类似的东西:
mkwbundle #make work bundle for home
和:
mkhbundle #make home bundle for work
我刚开始使用 awk/sed,但我已经看到了奇迹,我在使用 Python 之前询问过,Python 是我几乎可以处理任何事情的 goto 工具。
更新:
对于善变的不可知论者,这就是 hg 日志的样子:
changeset: 28:f5200232460e
tag: tip
user: Manuel@home
date: Tue Jan 15 23:39:57 2013 -0500
summary: Adding DevTodo
changeset: 27:828dbba6830a
user: Manuel@home
date: Tue Jan 15 23:24:57 2013 -0500
summary: login twig
changeset: 26:781477f86f6f
user: Manuel@home
date: Tue Jan 15 00:18:54 2013 -0500
summary: UI mockup
changeset: 25:0c9365b200a8
user: Manuel@home
date: Mon Jan 14 23:50:22 2013 -0500
summary: using twig blocks, remember reuse parent
changeset: 24:a1abfcfcefed
user: Manuel@work
date: Mon Jan 14 23:49:44 2013 -0500
summary: smaller footer
changeset: 23:3cd12b7fb684
user: Manuel@work
date: Mon Jan 14 23:20:18 2013 -0500
summary: test content width
我想在工作时获得基本修订版以制作捆绑包,假设我开始在家中以 rev 24 工作并进行了 4 次更改,然后我在 28 岁,我想获得 24 作为基础 rev 并制作捆绑包,然后在工作中也一样。
编辑:根据下面的@dhunter 评论,脚本的预期输出将是:
24