Windows 7 64 비트 시스템에서 작은 Java 프로그램을 사용하여 Subversion 환경 (Sliksvn 1.8.10)을 제어하려고합니다. SVNKIt이 아닌 JavaHL (1.8.x)을 사용해야합니다. 저장소를 체크 아웃하고, 작업 복사본에 파일을 추가하고, 저장소에 파일을 커밋하는 funktion을 구현했습니다. 체크 아웃과 추가 기능은 지금까지 잘 작동합니다. 문제는 이제 commit-funktion이 올바르게 작동하지 않는다는 것입니다.JavaHL.My java 응용 프로그램으로 커밋 할 수 없습니다.
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를받지 못한다는 것입니다. 아마도 Subversion 환경에서 프로세스가 깨져서 제 기능이 아무런 결과를 얻지 못할 수도 있습니다. 프로세스가 끝나면 커밋 항목이 svn 상태의 "Item is Addition for scheduled"상태가됩니다.
다른 버전의 JavaHL.jar API로 며칠간 작업을했는데 성공하지 못했습니다. 큰 문제는 또한 오류 메시지가 나타나서 코드에서 무엇이 잘못되었는지 알지 못합니다.
누구에게 내 커밋 기능에서 잘못된 점이 있습니까? 아마도 libsvnjavahl-1.dll 파일이 특정 JavaHL API와 호환되지 않을 수 있습니까?
내가 지금 문제를 해결, 당신에게안부 사이먼