windows環境自動獲取SVN倉庫當前版本


如果我們的軟件能夠自動引入SVN修訂號(倉庫版本號),那么我們開發軟件的時候就能快速定位bug出自哪個SVN版本。那么如何讓軟件直接自動生成並引用SVN版本號呢?

我們可以使用SVN info命令,在當前倉庫查看SVN Revision,並通過抓取Revision關鍵字,之后生成一個文件,讓我們的軟件自動引用。

如果是在dos下輸入SVN info命令,一般會提示“svn不是內部或外部命令”。因為windows下安裝SVN,默認不安裝svn commond line。請現重裝SVN選擇安裝svn commond line,並且添加bin目錄到windows環境變量。

之后就可以在dos下使用SVN info 命令了。此時我們可以直接bat腳本中完成一系列工作:

@echo off
set src_dir=%~dp0
for /f "delims=" %%i in ('svn info ^| findstr "Revision"') do set rev=%%i
set rev=%rev:~10%
echo #define SVN_REVISION %rev% > "%src_dir%"svnversion.h

運行這個腳本會在腳本所在目錄生成一個svn revision版本號的頭文件svnversion.h,我們軟件中引用這個頭文件就可以得到svn修訂版本了。

如果是keil編譯軟件,可以在project->option for target->User中,設置編譯軟件之前執行這個腳本。同時,軟件記得引用svnversion.h。

還有一個方法,可以利用svn鈎子來自動更新這個頭文件。在SVN設置界面找到Hook scripts頁。分別添加一個Post-commit Hook和Post-update Hook並指定運行這個腳本,即可在每次提交或更新代碼后自動更新svnversion.h。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM