windows-installer - 需要在安装程序的名称中指定最新的 git 哈希
问题描述
考虑一下 Git 安装在 Windows 中并且仅在 Git Bash 中可用,而不是在 Windows cmd 环境中可用的情况。拥有一个 vdproj 来为应用程序创建安装程序,但需要将最新的 git 哈希插入到 MSI 包的名称中。例如,目前它产生:Behnama.msi 但我们需要它来产生:Behnama_49ee23d3b33ba0fa5ce0ac128f50ed00345e9ce3.msi 当我在 Git Bash 中输入“git log”时,哈希 49ee... 是顶部的内容。当创建一个新的提交时,然后来构建 vdproj,我希望以 msi 文件的名称更改哈希。
解决方案
一个解决方案是安装 ActivePerl 或任何 perl 二进制文件以便能够运行 perl 脚本。然后将其作为构建后事件运行。这个 perl 脚本可以获得我想要的哈希值:
$folder = '';
while (! -d "$folder.git") {
$folder .= '../';
}
open IF, "$folder.git/logs/HEAD" or die $!;
while (<IF>) {
s/\s+$//;
$lastline = $_ if $_;
}
close IF;
@ar = split /\s+/, $lastline;
print "$ar[1]\n";
最后一条语句可能是这样的:
rename("Behnama.msi", "Behnama_$ar[1].msi");
反而。
推荐阅读
- entity-framework-core - 将 EF 6 (edmx) 升级到 EF 核心 2.0
- protractor - 如何在 VS CODE 中调试量角器?
- html - 如何在锚标记中设置不同的 CSS 样式?
- amazon-s3 - Aws::S3::Errors::AccessDenied:访问被拒绝 - Carrierwave
- dynamic-programming - 如何解决 dfs 和 dp 中的算法问题
- bash - 在bash中获取最后添加的子文件夹?
- laravel - 未找到 Lumen SoapClient
- javascript - 在 Javascript 中整理“格式化特征”的非有限列表的惯用方法
- php - 随机播放函数不会随机播放数组元素 (PHP)
- javascript - 基于 id 的 Javascript 过滤器