我希望能够从我的Java代码中读取当前的svn修订号(我正在使用Subcli启示)来输出它,以及我在用JUnit 4编写的回归测试中所需要的其他内容。
我搜索了很多没有任何运气(一些信息指向javahl.jar,但我无法找到任何有用的我的情况),我也试图自己找出,但没有运气再次。
环境:
Eclipse版本: 3.6.2,Build id: M20110210-1200
如果可能的话,我希望避免直接读取.snv文件,并达到“干净”的解决方案,因为我必须把这段代码留给其他人。
事先谢谢你,阿莱桑德罗
发布于 2012-11-08 09:10:17
我发现,即使我解决了这个问题,这些问题似乎仍然是开放的,我在这里张贴代码以求清晰,即使它已经被插入到一个commet中:
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;请注意,这个存根使用了一些不推荐的方法,当然可以用其他方法替换它们,但这是为了作为解决原始问题的指南。
发布于 2011-08-17 07:49:20
有一个库"svnkit“- svnkit.com
在维基页面上有许多例子,其中之一是“获取工作副本项目的信息”。
http://wiki.svnkit.com/Managing_A_Working_Copy
还可以在项目http://code.google.com/p/svntask/的源代码中找到如何使用它的示例。
发布于 2011-08-17 07:54:48
我将研究SVNKit,特别是SVNWCClient#doInfo()方法。
https://stackoverflow.com/questions/7089325
复制相似问题