3

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

我可以使用内置任务MSBuild来获取哈希数吗?

任何帮助表示赞赏。谢谢。

4

1 回答 1

3

我建议将它作为 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>
于 2013-01-31T01:47:08.070 回答