From 05e13e7cafaff48b5e3bb098114225df89f3e59c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= Date: Wed, 15 Apr 2020 11:38:40 +0200 Subject: [PATCH] Fix "srcid" on Windows Windows BIND releases produced by GitLab CI are built from Git repositories, not from release tarballs, which means the "srcid" file is not present in the top source directory when MSBuild is invoked. This causes the Git commit hash for such builds to be set to "unset_id". Enable win32utils/Configure to try determining the commit hash for a build by invoking Git on the build host if the "srcid" file is not present (which is what its Unix counterpart does). --- win32utils/Configure | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/win32utils/Configure b/win32utils/Configure index 22e425b83a..daad52f047 100644 --- a/win32utils/Configure +++ b/win32utils/Configure @@ -2638,6 +2638,13 @@ sub makesrcid { close SIN; } + if ($srcid eq "unset_id" and -d "..\\.git") { + $data = `git rev-list --max-count=1 HEAD`; + if (length($data) > 0) { + $srcid = substr($data, 0, 7); + } + } + # Now set up the output version file my $ThisDate = scalar localtime();