Mercurial更新挂钩,用于将某些数据发送到文本文件

时间:2014-12-24 18:49:41

标签: mercurial mercurial-hook

我想这真的有两个问题:

  1. 如何获取更新挂钩以执行以下操作:
  2. hg heads --template 'version {tags}\tbuild {rev}.{node|short}\tcommitted on {date|shortdate}'

    只需将update = <above command>放在hgrc文件的[hooks]部分,似乎无法正常工作。

    1. 如何将上面的输出重定向到文本文件?追加> log.txt| log.txt并不起作用
    2. 我确定这是非常基本的,而且我的命令行知识非常基础 - 我今天早上刚刚学会了上述所有命令!

      顺便说一下,如果有帮助,我正在使用Mercurial 2.4.1运行TortoiseHg 2.6.1

1 个答案:

答案 0 :(得分:1)

  1. 根据Hooks wiki-page
  2.   

    钩子可以实现为外部程序或内部python调用。

    我,你不能直接在[hooks]部分写hg COMMAND,但可以在shell-script中编写yjis命令,这在shell中调用。像

    这样的东西
    [hooks]
    update = updatehook
    

    updatehook.sh | PATH中的updatehook.bat(或脚本的完整路径),其中包含主要部分

    hg heads --template "version {tags}\tbuild {rev}.{node|short}\tcommitted on {date|shortdate}\n" > SOMEPATH/log.txt
    

    (注意在模板末尾添加\n - 需要多头存储库)

    >hg heads --template "version {tags}\tbuild {rev}.{node|short}\tcommitted on {date|shortdate}\n"
    version default/2.0 tip build 4638.4a48cef94e2e committed on 2014-12-24
    version default/master  build 4620.de0053588acf committed on 2014-12-23
    version default/1.6     build 2344.fc32e948fcba committed on 2013-01-06