我想在使用hg tag XXX
时自动修改我的项目版本。如何在提交标记之前提交文件?
我已成立了一个pretag钩在我的hgrc(注:我已删除,以确保它输出到汞根版本,清晰的东西):
[hooks]
pretag.bump_version = (echo "$HG_TAG" > VERSION; hg commit -m "Updated VERSION to $HG_TAG" VERSION)
当我创建一个新标签:
$ hg tag 1.1
我得到的错误:
warning: ignoring unknown working parent <revision_id>!
我可以用一个标签钩代替,其成功s,但是那么版本号比标签晚了一个版本:这意味着更新到已标记的版本,然后构建将导致产品的版本号(取决于VERSION文件)将不正确。
有没有更好的方法来处理这个问题?我已经看过SO question #2558531,但是每次更新版本号:我只想在之前更新版本号我标记存储库。
谢谢瑞安。是的,我只是提交VERSION文件,但是当我在这里输入时,它被简化了。 – 2012-04-12 14:09:22
很酷。您可能会注意到,'tag'命令也在'$ HG_ARGS'变量中结束。如果这是个问题,你可以使用'$ {HG_ARGS#tag}'来代替它。这是一场深奥的魔术。 – 2012-04-12 14:39:32
超级。我刚刚提出了'set-junk $ HG_ARGS',然后使用'$ 3'作为标签。你看起来更好,但在标签值之前留下一个空格。 – 2012-04-12 22:26:09