从MSBuild获取Git Long Hash

时间:2013-01-30 16:57:46

标签: git github msbuild cruisecontrol.net msbuild-task

我正在使用Git + MSBuild。我需要从MSBuild获取Git Long Hash编号,以便我可以将构建与哈希编号绑定(并找出构成“修订版”的文件)

MSBuild中是否有内置任务可以用来获取哈希值?

感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:2)

我建议将它作为属性从CI服务器本身传递,其作用是处理VCS,这样开发人员可以对不是git repo的普通文件夹使用相同的脚本,例如通过从CLI提供来进行黑客攻击的愚蠢复制/粘贴。也就是说,可能存在适当的基于api的社区任务,但我是这样做的:

<Target Name="Foo">
    <Exec Command="git rev-parse HEAD > head" />
    <ReadLinesFromFile File="head">
        <Output TaskParameter="Lines" PropertyName="Head" /> 
    </ReadLinesFromFile>
    <Delete Files="head" />
    <Message Text="Head: $(Head)" />
</Target>

<Target Name="Bar">
    <PropertyGroup>
        <Head>$([System.IO.File]::ReadAllText(".git\refs\heads\master").Trim())</Head>
    </PropertyGroup>
    <Message Text="Head: $(Head)" />
</Target>