无法使用 Java 中的 SVNKit 库将修改后的文件提交到 SVN 存储库。没有堆栈跟踪信息可供我调试,这令人失望。
该文件是使用 Java 程序修改的,我必须使用 SVN 提交修改后的文件。(svn commit -m "更新")。
当我运行“svn status”命令时,该文件已被修改并显示如下。
svn 状态文件名
M 文件名
这是我的代码:
try {
String url = "http://repository URL";
File file = new File("<path to file>"+inputFile);
DAVRepositoryFactory.setup();
SVNURL svnurl = SVNURL.parseURIDecoded(url);
SVNCommitInfo commitInfo;
String uname = <username>; // auth details to connect to SVN repo
String pwd = <password>;
pw.println("<br> SVN URL is : "+ svnurl); //pw is a reference object of response.getWriter()
DAVRepository repo = (DAVRepository) DAVRepositoryFactory.create(svnurl);
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager(uname, pwd);
repo.setAuthenticationManager(authManager);
long latestRevision = repo.getLatestRevision();
pw.println("<br> LATEST REVISION IS : "+latestRevision);
/*
SVNClientManager clientManager = SVNClientManager.newInstance(null,repo.getAuthenticationManager());
try {
SVNUpdateClient uc = clientManager.getUpdateClient();
uc.doUpdate(file, SVNRevision.HEAD, true);
SVNCommitClient cc = clientManager.getCommitClient();
commitInfo = cc.doCommit(new File[] {file}, false, "Updated regex", null, null, false, false, SVNDepth.INFINITY);
pw.println("<br> COMMIT INFORMATION : "+commitInfo);
} finally {
clientManager.dispose();
}
*/
} catch (Exception e) {
pw.println(e.getMessage());
}
我的输出:SVN URL 是:存储库 URL [Ljava.lang.StackTraceElement;@1e610e3 (并且修改后的文件未提交)
任何帮助表示赞赏。谢谢