我有一臺服務器,我有時會上傳我的軟件的新版本。 對於每次上傳,我必須增加包含在file.ver中的構建變量,如#BUILD 345. 嗯,我不能每次都手動執行此操作,但我更喜歡一種智能且快速的解決方案,即增加版本號爲每個上傳。如何更新文件的版本?
最簡單的方法是什麼? 在bash中有一個很好的命令來做到這一點? 還是用C/C++編寫的回調方法?
我有一臺服務器,我有時會上傳我的軟件的新版本。 對於每次上傳,我必須增加包含在file.ver中的構建變量,如#BUILD 345. 嗯,我不能每次都手動執行此操作,但我更喜歡一種智能且快速的解決方案,即增加版本號爲每個上傳。如何更新文件的版本?
最簡單的方法是什麼? 在bash中有一個很好的命令來做到這一點? 還是用C/C++編寫的回調方法?
可以使用命令sed
替換文件中的字符串。
舉例來說,如果你有一個文件myfile
,內容如下:
// Some comments
// Version: #VERSION
// ...
您可以使用下面的命令來替換版本號:
sed -i 's/#VERSION/123/g' myfile
的-i
意味着直列即修改文件內容。
不要重定向sed的回到同一文件的輸出,如
sed ... myfile > myfile
,你就失去了文件內容。見Redirect output from sed 's/c/d/' myFile to myFile
結果:
// Some comments
// Version: 123
// ...
如果你使用Ant,這可能是有用的:
Use ANT to update build number and inject into source code
另見相關版本編號以下問題(方案):
Bumping version numbers for new releases in associated files (documentation)
如果你想這很容易,你應該使用IDE或makefile,否則有時可能會忘記它。
取決於哪個系統的操作系統,......您使用但大多數IDE具有此功能 VisualStudio可以執行此操作,或者您可以在makefile中創建一個小腳本。
你的意思是源代碼控制,如SVN,Perforce,Git? – AlexTheo
看到這個問題:http://stackoverflow.com/questions/986521/bumping-version-numbers-for-new-releases-in-associated-files-documentation –