日期:2014-05-20  浏览次数:20784 次

SVNKit 工具获取 MyEclispe 项目中 文件更改提交时的备注信息
我要用java代码实现svn 下文件更改后的注释信息,找到了SVNKit这个工具,但是作者、名称、时间、版本都找到了。就是没有注释信息,请各位帮忙看下,如何实现:感谢~~~


为什么不能贴图片呢~

注释信息举例如下,就是svn 在提交项目的时候填写的注释信息:
12-8-9 上午12:22  author:hellen   注释:解决http安全设置清空记录后无法保存的问题
这都是SVNKIT 指南中带的例子,而我只想要ENTRY MESS"+entry.getCommitMessage()+  这个值。但是我获取不到
红色字体注释的就是了


public static void main(String[] args) {

// 初始化支持svn://协议的库。 必须先执行此操作。
SVNRepositoryFactoryImpl.setup();

/*
 * 相关变量赋值
 */
String url = "https://svn.topwalk.com/svn/Topwalk-DTP/trunk/dtp3.0/DtpSer/DTPSer/src";
String name = "hejk";
String password = "topwalk82670";
// 定义svn版本库的URL。
SVNURL repositoryURL = null;
// 定义版本库。
SVNRepository repository = null;
/*
 * 实例化版本库类
 */
try {
// 获取SVN的URL
repositoryURL = SVNURL.parseURIEncoded(url);
// 根据URL实例化SVN版本库
repository = SVNRepositoryFactory.create(repositoryURL);
} catch (SVNException svne) {
/*
 * 打印版本库实例创建失败的异常
 */
System.err.println("创建版本库实例时失败,版本库的URL是 '" + url + "': "
+ svne.getMessage());
System.exit(1);
}

/*
 * 对版本库设置认证信息
 */
ISVNAuthenticationManager authManager = SVNWCUtil
.createDefaultAuthenticationManager(name, password);
repository.setAuthenticationManager(authManager);

/*
 * 上面的代码基本上是固定的操作。 下面的部门根据任务不同,执行不同的操作
 */
try {

// 打印版本库的根
System.out.println("Repository Root: "
+ repository.getRepositoryRoot(true));
// 打印出版本库的UUID
System.out.println("Repository UUID: "
+ repository.getRepositoryUUID(true));
System.out.println("");
// 打印版本库的目录树结构
listEntries(repository, "");

} catch (SVNException svne) {
System.err.println("打印版本树时发生错误: " + svne.getMessage());
System.exit(1);
}
/*
 * 获得版本库的最新版本树
 */
long latestRevision = -1;
try {
latestRevision = repository.getLatestRevision();
} catch (SVNException svne) {
System.err.println("获取最新版本号时出错: " + svne.getMessage());
System.exit(1);
}
System.out.println("");
System.out.println("---------------------------------------------");
System.out.println("版本库的最新版本是: " + latestRevision);
System.exit(0);
}

/*
 * 此函数递归的获取版本库中某一目录下的所有条目。
 */
@SuppressWarnings("unchecked")
public static void listEntries(SVNRepository repository, String path)
throws SVNException {
// 获取版本库的path目录下的所有条目。参数-1表示是最新版本。
Collection entries = repository.getDir(path, -1, null,
(Collection) null);
Iterator iterator = entries.iterator();
while (iterator.hasNext()) {
SVNDirEntry entry = (SVNDirEntry) iterator.next();
System.out.println("/" + (path.equals("") ? "" : path + "/")
+ entry.getName() + " (author: '" + entry.getAuthor()
+ "'; revision: " + entry.getRevision() + "; date: "