在 LabVIEW UI 中加入 git 的版本號

對於以 git 來管理的 LabVIEW 專案,在 UI 中使用 git 版本號來標示軟體版本,無論對於開發者或使用者來說都是簡單明瞭的作法。因此前一陣子寫了個這樣子的 VI:LV-git-describe-version

整體只有一個 Fetch git version code.vi,在基礎的 LabVIEW 開發環境下即可使用,無需任何外掛。當然,您必需安裝 git,並使用 git 來管理 LabVIEW 專案。

Fetch git version code.vi 的原理是透過在 Windows 底層執行 git describe –tages 的指令來取得特定目錄下的 git tag 資訊,也因此該目錄下的 git repository 必需包含至少一個 tag 資訊。執行後會產生下述的範例字串(Version string):

v1.0.4-14-g2f14721

上述的「v1.0.4」為 git repository 下最近一次 git tag 的名稱。「14」代表在該 tag 後經過了幾次 commit。「g」後面的 16 進位數字「2f14721」則是最近一次 commit 的部分 7 碼 hash。

Fetch git version code.vi 的輸入端包含 git.exe path 與 git repo path。前者是在 Windows 中 git 的執行路徑,我以的例子來說是在 C:\Program Files\Git\cmd\git.exe,使用者請依自己的系統環境來設定;後者則是欲取得 git 版本號的操作目錄。

詳細的使用情形可參考 LV-git-describe-version 中的範例 Example of fetch current git version code.vi。


最後要注意的是。在開發者的本機中,每次執行 Fetch git version code.vi 時都會透過 Windows 底層獲取 git 資訊。當這個 LabVIEW 專案打包成 EXE 檔並發佈給其它使用者後,因為執行環境不同,Fetch git version code.vi 將無法正確運作。

因此,若有將 LabVIEW 專案 build 成 EXE 檔的需求時,建議將 Fetch git version code.vi 輸出的版本號儲存起來(例如寫入到 .txt 中),並把該 VI 放在 Conditional Disable Structure 中,設定成 RUN_TIME_ENGINE 等於 TRUE。如此一來,LabVIEW 在打包成 EXE 後,就不會重複執行 Fetch git version code.vi,開發者電腦上 git 版本紀錄也能保留下來供使用者辨別。

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s