svnversion
时间: 2023-12-26 22:05:54 浏览: 27
svnversion是一个Subversion命令行工具,用于获取工作副本的版本信息。它可以告诉你工作副本是哪个版本,是否修改过,是否有未提交的修改等信息。使用svnversion命令可以方便地获取版本信息,以便在代码中嵌入版本信息。
使用svnversion命令的基本语法如下:
```
svnversion [options] [path]
```
其中,path是要获取版本信息的工作副本路径,如果不指定path,则默认使用当前目录作为工作副本路径。
以下是一些常用的svnversion命令选项:
- -c:只输出最后修改的版本号。
- -n:只输出版本号,不包括后缀M、S等。
- -q:安静模式,不输出任何信息。
- -h:显示帮助信息。
例如,要获取当前目录下的工作副本的版本信息,可以使用以下命令:
```
svnversion .
```
输出的版本信息格式为:基准版本号:修订号[:未提交的修改标记],例如:1234:5678M。
相关问题
linux环境 $(shell svnversion)会获取svn版本信息吗
是的,`$(shell svnversion)`命令会获取 SVN 版本信息。它会执行 `svnversion` 命令并将其输出作为 Makefile 变量的值。您可以在 Makefile 中使用这个变量来获取 SVN 版本信息,并将其编译到共享库中。例如:
```
SVN_VERSION := $(shell svnversion)
gcc -shared -Wl,-soname,libmylib.so.1 -o libmylib.so.1.0 $(OBJS) -DSVN_VERSION=\"$(SVN_VERSION)\"
```
这将编译一个名为 `libmylib.so.1.0` 的共享库,并将 SVN 版本信息作为宏定义传递给编译器。
Qt的.pro文件如何配置自动获取svn版本号功能
在Qt的.pro文件中配置自动获取svn版本号功能,可以使用QMAKE_EXTRA_TARGETS和QMAKE_POST_LINK两个变量。
首先,需要在.pro文件中定义一个版本号变量,比如:
```
VERSION = 1.0.$${system(svnversion -n .)}
```
其中,使用了system函数来执行svnversion命令获取当前svn版本号,并将其赋值给VERSION变量。
接着,需要定义一个QMAKE_EXTRA_TARGETS变量,用于在链接之前执行一个命令,来更新版本号:
```
QMAKE_EXTRA_TARGETS += version
version.commands = sed -i 's/^VERSION = .*/VERSION = $${VERSION}/' $${PWD}/version.h
version.target = version.h
version.depends = FORCE
```
其中,version.commands定义了一个命令,用于更新version.h文件中的版本号。在这里,使用了sed命令来替换version.h文件中的VERSION宏定义。version.target指定了更新的目标文件,即version.h。version.depends指定了更新版本号之前需要执行的依赖命令。
最后,在QMAKE_POST_LINK变量中添加一个依赖,使得在链接之后自动执行更新版本号的命令:
```
QMAKE_POST_LINK += version
```
这样,每次编译项目时,就会自动获取当前svn版本号,并更新version.h文件中的版本号。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)