提交 d1db17b4 authored 作者: Jeff Lenk's avatar Jeff Lenk 提交者: Ken Rice

FS-4219 -- resolve windows version string. thanks Peter

上级 dbbe5ed1
...@@ -314,6 +314,31 @@ Function GetTimeUTC() ...@@ -314,6 +314,31 @@ Function GetTimeUTC()
End Function End Function
Function GetWeekDay(DateTime)
DayOfWeek = DatePart("w", DateTime)
Select Case DayOfWeek
Case 1 GetWeekDay = "Sun"
Case 2 GetWeekDay = "Mon"
Case 3 GetWeekDay = "Tue"
Case 4 GetWeekDay = "Wed"
Case 5 GetWeekDay = "Thu"
Case 6 GetWeekDay = "Fri"
Case 7 GetWeekDay = "Sat"
End Select
End Function
Function GetMonthName(DateTime)
Val = MonthName(Month(DateTime), True)
Val = UCase(Left(Val, 1)) & Mid(Val, 2, 4)
GetMonthName = Val
End Function
Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
Dim oExec Dim oExec
...@@ -321,6 +346,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) ...@@ -321,6 +346,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
strVerMinor = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_MINOR") strVerMinor = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_MINOR")
strVerMicro = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_MICRO") strVerMicro = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_MICRO")
strVerRev = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_REVISION") strVerRev = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_REVISION")
strVerHuman = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_REVISION_HUMAN")
'Set version to the one reported by configure.in 'Set version to the one reported by configure.in
If strVerRev <> "" Then If strVerRev <> "" Then
...@@ -329,6 +355,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) ...@@ -329,6 +355,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
Dim sLastFile Dim sLastFile
Const ForReading = 1 Const ForReading = 1
Const ShowUnclean = False 'Don't show unclean state for now
'Try To read revision from git 'Try To read revision from git
If FSO.FolderExists(VersionDir & ".git") Then If FSO.FolderExists(VersionDir & ".git") Then
...@@ -337,30 +364,38 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) ...@@ -337,30 +364,38 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
If IsNumeric(strFromProc) Then If IsNumeric(strFromProc) Then
lastChangedDateTime = DateAdd("s", strFromProc, "01/01/1970 00:00:00") lastChangedDateTime = DateAdd("s", strFromProc, "01/01/1970 00:00:00")
strLastCommit = YEAR(lastChangedDateTime) & Pd(Month(lastChangedDateTime), 2) & Pd(DAY(lastChangedDateTime), 2) & "T" & Pd(Hour(lastChangedDateTime), 2) & Pd(Minute(lastChangedDateTime), 2) & Pd(Second(lastChangedDateTime), 2) & "Z" strLastCommit = YEAR(lastChangedDateTime) & Pd(Month(lastChangedDateTime), 2) & Pd(DAY(lastChangedDateTime), 2) & "T" & Pd(Hour(lastChangedDateTime), 2) & Pd(Minute(lastChangedDateTime), 2) & Pd(Second(lastChangedDateTime), 2) & "Z"
strLastCommitHuman = GetWeekDay(lastChangedDateTime) & ", " & Pd(DAY(lastChangedDateTime), 2) & " " & GetMonthName(lastChangedDateTime) & " " & YEAR(lastChangedDateTime) & " " & Pd(Hour(lastChangedDateTime), 2) & ":" & Pd(Minute(lastChangedDateTime), 2) & ":" & Pd(Second(lastChangedDateTime), 2) & " Z"
Else Else
strLastCommit = "UNKNOWN" strLastCommit = ""
strLastCommitHuman = ""
End If End If
'Get revision hash 'Get revision hash
strRevision = ExecAndGetResult(tmpFolder, VersionDir, "git rev-list -n1 --abbrev=10 --abbrev-commit HEAD") strRevision = ExecAndGetResult(tmpFolder, VersionDir, "git rev-list -n1 --abbrev=10 --abbrev-commit HEAD")
If strRevision = "" Then If strLastCommit <> "" And strLastCommitHuman <> "" And strRevision <> "" Then
strRevision = "UNKNOWN" 'Bild version string
End If strGitVer = "git~" & strLastCommit & "~" & strRevision
strVerHuman = "; git at commit " & strRevision & " on " & strLastCommitHuman
'Bild version string
strGitVer="git~" & strLastCommit & "~" & strRevision 'Check for local changes, if found, append to git revision string
If ShowUnclean Then
'Check for local changes, if found, append to git revision string If ExecAndGetExitCode(tmpFolder, VersionDir, "git diff-index --quiet HEAD") <> 0 Then
If ExecAndGetExitCode(tmpFolder, VersionDir, "git diff-index --quiet HEAD") <> 0 Then lastChangedDateTime = GetTimeUTC()
lastChangedDateTime = GetTimeUTC() strGitVer = strGitVer & "+unclean~" & YEAR(lastChangedDateTime) & Pd(Month(lastChangedDateTime), 2) & Pd(DAY(lastChangedDateTime), 2) & "T" & Pd(Hour(lastChangedDateTime), 2) & Pd(Minute(lastChangedDateTime), 2) & Pd(Second(lastChangedDateTime), 2) & "Z"
strGitVer = strGitVer & "+unclean~" & YEAR(lastChangedDateTime) & Pd(Month(lastChangedDateTime), 2) & Pd(DAY(lastChangedDateTime), 2) & "T" & Pd(Hour(lastChangedDateTime), 2) & Pd(Minute(lastChangedDateTime), 2) & Pd(Second(lastChangedDateTime), 2) & "Z" End If
End If
Else
strGitVer = ""
strVerHuman = ""
End If End If
If strVerRev = "" Then If strVerRev = "" Then
VERSION=strGitVer VERSION=strGitVer
Else Else
VERSION=VERSION & "+" & strGitVer If strGitVer <> "" Then
VERSION=VERSION & "+" & strGitVer
End If
End If End If
sLastVersion = "" sLastVersion = ""
...@@ -371,13 +406,9 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) ...@@ -371,13 +406,9 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
sLastFile.Close sLastFile.Close
End If End If
If VERSION = "" Then If VERSION & " " & strVerHuman <> sLastVersion Then
VERSION = "-UNKNOWN"
End If
If VERSION <> sLastVersion Then
Set MyFile = fso.CreateTextFile(tmpFolder & "lastversion", True) Set MyFile = fso.CreateTextFile(tmpFolder & "lastversion", True)
MyFile.WriteLine(VERSION) MyFile.WriteLine(VERSION & " " & strVerHuman)
MyFile.Close MyFile.Close
FSO.CopyFile includebase, includedest, true FSO.CopyFile includebase, includedest, true
...@@ -385,6 +416,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) ...@@ -385,6 +416,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
FindReplaceInFile includedest, "@SWITCH_VERSION_MAJOR@", strVerMajor FindReplaceInFile includedest, "@SWITCH_VERSION_MAJOR@", strVerMajor
FindReplaceInFile includedest, "@SWITCH_VERSION_MINOR@", strVerMinor FindReplaceInFile includedest, "@SWITCH_VERSION_MINOR@", strVerMinor
FindReplaceInFile includedest, "@SWITCH_VERSION_MICRO@", strVerMicro FindReplaceInFile includedest, "@SWITCH_VERSION_MICRO@", strVerMicro
FindReplaceInFile includedest, "@SWITCH_VERSION_REVISION_HUMAN@", strVerHuman
End If End If
End Sub End Sub
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论