我目前正在使用SVN插件在Eclipse上编程Java。我尝试了几次,编写了一个代码,该代码应该将我的本地数据(某些捆绑软件)与SVN服务器的捆绑软件进行比较。谁能帮助我解决这个问题?我需要尽快提供反馈。 提前致谢。
有人告诉我使用ISVNClientAdapter类,但没有找到可用于将本地数据与SVN服务器进行比较的任何方法。我已经使用了getInfo和getStatus方法,但是它们没有用。
这是我在使用以下程序编程的程序中发现的一些类似代码: .getInfo和.getSatus方法有很多重载。
public File checkout(IProject project, String path)
{
try
{
RepositoryProvider repo = RepositoryProvider.getProvider(project);
repo.setProject(project);
ISVNClientAdapter client = ((SVNTeamProvider)repo).getSVNWorkspaceRoot().getRepository().getSVNClient();
File directory = ((BaseFolder)repo.getSubscriber().getSyncInfo(project).getBase()).getFile();
SVNRevision revision = RevisionHandler.getInstance().getRevision(getMachineVersion(),project.getName(),
client.getInfo(directory).getUrl().toString(), null);
if (revision != null)
{
File dest = new File(path + File.separatorChar project.getName());
if (dest.exists())
GeneralActions.deleteDir(dest);
client.checkout(client.getInfo(directory).getUrl(), dest,revision, true);
return dest;
}
return null;
}
catch (TeamException | ParseException | SVNClientException e)
{
Activator.log(Status.ERROR, null, e);
}
return null;
}