- 安装svn
yum install -y subversion
安装完成后使用 svn --version判断是否安装成功。
- checkout当前版本
svn checkout [directory]
例如:svn checkout https://192.168.1.1/dev_1.2/src/ ./
- 更新
svn update [directory|file]
- 编译时加入版本号
makefile中加入如下代码:
SVNDEF := -D'SVN_REV="$(shell svnversion -n . ../../)"' //这一行获取svn版本号
TIMDEF := -D'COMPILE_TIME="$(shell date +"%Y-%m-%d %H:%M:%S")"' //这一行获取编译时间
CFLAGS += $(SVNDEF) $(TIMDEF)
-D后面的单引号紧跟着的第一个参数,会被gcc自动编译到程序里面去,形成一个宏定义,值为等号后面的值。
例如:SVNDEF为Makefile中的变量名,它的值会在编译时生成一个名为SVN_REV的宏定义,值为"$(shell svnversion -n . ../../)"的执行结果,也就是上层的上层目录svn版本号。
在main.cpp中加入如下代码:
if( argc > 1 && (strcmp(argv[1], "-v") == 0 || strcmp(argv[1], "-version") == 0)) //参数-v或者-version打印版本号
{
printf("\n --- sam_server version --- \n v1.3.0.%s \n %s \n\n", SVN_REV, COMPILE_TIME);
return 0; //如果只是查看版本号,则不进行任何操作,直接退出程序
}
- linux下svn基本命令:
显示最近十行日志:svn log | head -n 10
代码提交:svn commit -m "这里是备注信息" main.cpp