从Java代码中读取SVN(Subclipse)版本号

4
我想从我的Java代码中读取当前的svn修订号(我正在使用Subclipse),并将其与我在使用JUnit 4编写的回归测试中需要的其他内容一起输出。 我搜索了很多,没有找到任何有用的信息(有些信息指向javahl.jar,但我无法找到任何对我的情况有用的东西),我也试图自己解决,但还是没有找到任何线索。
环境:
- Eclipse版本:3.6.2,构建编号:M20110210-1200 - Windows 7 32位 - Subclipse 1.6.18(JavaHL 1.6.17)
如果可能的话,我想避免直接读取.svn文件,并达到一个“清洁”的解决方案,因为我要把这个代码交给其他人。
提前谢谢, Alessandro
3个回答

2

1

谢谢你的回答!与此同时,我设法以这种方式使其工作(我知道我应该避免使用已弃用的方法,但我真的很匆忙,现在可以):`import org.tigris.subversion.javahl.*; [...]SVNClient svnClient = new SVNClient(); @SuppressWarnings("deprecation") Status [] status = svnClient.status("项目的绝对路径", true, false, true);for(Status stat : status) revNumber = (revNumber < stat.getRevisionNumber()) ? stat.getRevisionNumber() : revNumber;` - Alessandro S.

0

我发现即使我解决了问题,问题似乎仍然是开放的,为了清晰起见,我在这里发布代码,即使它已经被插入到评论中:

import org.tigris.subversion.javahl.*;
[...]

SVNClient svnClient = new SVNClient();
@SuppressWarnings("deprecation")
Status [] status = svnClient.status("absolutepathOfTheProject", true, false, true);

for(Status stat : status)
revNumber = (revNumber < stat.getRevisionNumber()) ? stat.getRevisionNumber() : revNumber;

请注意,此存根使用了一些已弃用的方法,当然可以用其他方法替换它们,但这应该被视为解决原始问题的指南。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接