获取SVN版本号

import org.tmatesoft.svn.core.wc.*

dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    classpath group: 'org.tmatesoft.svnkit', name: 'svnkit', version: '1.9.3'
}


def getSvnRevisionByPlatform() {
ISVNOptions options = SVNWCUtil.createDefaultOptions(true);
SVNClientManager clientManager = SVNClientManager.newInstance(options);
SVNStatusClient statusClient = clientManager.getStatusClient();
SVNStatus status = statusClient.doStatus(projectDir, false);
SVNRevision revision = status.getRevision();
def svnNum = revision.getNumber();
return svnNum;

}

转载于:https://my.oschina.net/ToFlySeif/blog/3058641

### 自动获取 SVN 版本号 #### Windows 平台方法 在Windows环境下,可以通过批处理脚本来实现自动获取SVN版本号的功能。具体做法是设置SVN仓库的URL并调用`svn info`命令来查询最新的修订版信息,再通过字符串过滤工具提取出版本号。 ```batch @echo off :: 设置SVN URL地址 set svnURL="https://example.com/svn/repo" :: 使用svn info命令并将输出重定向到临时文件中 svn info %svnURL% | findstr "Revision:" > Version.txt :: 解析Version.txt中的数据得到具体的版本号 for /f "tokens=2 delims= " %%i in (Version.txt) do set rev=%%i :: 输出最终获得的版本号 echo Latest revision is: %rev% pause ``` 此段代码展示了如何读取指定路径下的SVN库最新版本号,并将其保存至环境变量`rev`内以便后续操作使用[^1]。 #### Linux 平台 Shell 脚本方式 对于Linux系统而言,则更倾向于采用Shell脚本来完成同样的任务。下面是一个简单的例子: ```bash #!/bin/bash # 定义SVN项目的URL url='http://your-svn-url' revision='' # 存储版本号的变量 # 获取SVN版本号并赋值给$revision变量 revision=$(svn info "$url" | grep 'Revision:' | awk '{print $2}') # 打印当前最高版本号用于验证结果正确性 echo Current highest revision number is: "${revision}" ``` 这里采用了管道符连接多个命令的方式简化流程;其中`grep`用来筛选含有关键词' Revision:'的那一行记录,而`awk`则进一步解析该行以分离出实际数值部分[^2]。 #### 通用命令行技巧 除了上述特定于操作系统的方法外,还存在一种较为简洁且跨平台适用的技术方案——借助`svnversion`工具配合正则表达式的手段快速定位目标值: ```bash svnversion -c | sed 's/^.*://; s/[A-Z]*$//' ``` 这条语句能够有效地去除不必要的字符只保留纯数字形式的版本编号[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值