JavaHL。无法使用我的java应用程序提交

时间:2014-09-09 19:38:35

标签: java svn javahl

我想在Windows 7 64位计算机上使用小型Java程序控制我的Subversion环境(Sliksvn 1.8.10)。我需要使用JavaHL(1.8.x)而不是SVNKIt。我已经实现了一个功能来检查存储库,将文件添加到工作副本并将文件提交到存储库。结帐和添加功能到目前为止工作正常。现在的问题是,commit-funktion无法正常工作。

public void commit()
{

Set<String> paths = new HashSet<String>();
paths.add( "C:\\Users\\XXX\\Documents\\SVNTEST\\Test3" );
Depth dep = Depth.infinity;
);


CommitMessageCallback handler = new CommitMessageCallback()
{
@Override
public String getLogMessage(Set<CommitItem> arg0) {
    // TODO Auto-generated method stub
    System.out.println(arg0.size());
    return null;
}
};

CommitCallback callback = new CommitCallback()
{

@Override
public void commitInfo(CommitInfo arg0) {
    // TODO Auto-generated method stub
    System.out.println(arg0.getAuthor());

}
};
try
{

  client.commit( paths, dep, true, false, null, null, handler, callback );

}
catch( ClientException e )
{
  // TODO Auto-generated catch block
  e.printStackTrace();
}

}

当我处理提交函数时,我从CommitMessageCallback函数获取提交项的数量。这仍然有用。我现在的问题是,没有从CommitCallback函数接收任何CommitInfo。我想也许,这个过程在颠覆环境中崩溃了,我的功能没有结果。在此过程之后,提交项仍处于svn状态“项目已计划添加”。

我使用不同版本的JavaHL.jar api几天就解决了这个问题,但是没有成功。最大的问题是,我没有收到任何错误信息,我不知道代码中有什么问题。

有人知道我的提交功能有什么问题吗? 也许libsvnjavahl-1.dll文件与某些JavaHL Api不兼容?

非常感谢

最好的问候西蒙

1 个答案:

答案 0 :(得分:0)

好的,我现在解决了这个问题。简单的解决方案是使用org.tigris.subversion而不是org.apache.subversion库类。但问题是,为什么存在两个与JavaHL库不同的版本?