我有一台服务器,我有时会上传我的软件的新版本。 对于每次上传,我必须增加包含在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 –