让软件版本信息自动引用SVN修订版本号
軟件發布出去后通常用戶反饋一個BUG時往往需要知道程序版本號。當軟件發布的版本多了后版本號的管理變的麻煩,當然正式版本發布周期較長手動管理版本號是合理的。如果是臨時編譯的測試版本,則可以讓程序自動引用SVN修訂號。微軟的visual studio好像可以每次編譯自動增加版本號,不過這個自動版本號對于查bug似乎沒什么意義。使用SVN修訂號作為程序版本信息的一部分,可以很方便的得到編譯這個程序時的代碼的原貌,對于查BUG意義重大。
那么如何在程序中引用SVN修訂版本號呢。我們可以使用svn info -R HEAD 命令查看svn目錄revision。因此以C語言為例,可以寫一個腳本自動生成一個頭文件,讓軟件引用這個頭文件即可實現在軟件中顯示svn revision。
下面是我寫的一個批處理腳本:
@echo off set src_dir=%~dp0 for /f "delims=" %%i in ('svn info -r HEAD "%src_dir%" ^| findstr "Revision"') do set rev=%%i set rev=%rev:~10% echo #define SVN_REVISION %rev% > "%bin_dir%"svnversion.h運行這個腳本會在腳本所在目錄生成一個svn revision版本號的頭文件svnversion.h,我們軟件中引用這個頭文件就可以得到svn 修訂版本了。
為了讓其“自動”,可以利用svn鉤子來自動更新這個頭文件。
如果安裝有tortoiseSVN,我們可以在其設置界面找到Hook scripts頁。分別添加一個Post-commit Hook和Post-update Hook并指定運行這個腳本,即可在每次提交或更新代碼后自動更新svnversion.h
?
?
?
轉載于:https://www.cnblogs.com/loongwong/archive/2012/07/13/2590927.html
總結
以上是生活随笔為你收集整理的让软件版本信息自动引用SVN修订版本号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu建站遇到的mysql数据库问
- 下一篇: Linux下用gSOAP开发Web Se