ich habe ein kleines Problem mit dem Auslesen von SVN-Files.
Der Zugriff auf das repository funktioniert einwandfrei, auf eine bestimmte file
ebenfalls. Leider bekomm ich es einfach nicht hin, die verschiedenen Versionen
dieser Files anzeigen zu lassen, bzw. drauf zuzugreifen.
Kann mir da jemand helfen?
Jetzt zu den Infos:
Ich benutze die API von svn-kit(svnkit.com).
Der User kann eine URL und einen Filenamen angeben, und diese dann anschließend downloaden.
Mein Problem ist, dass ich nur eine File (letzte Version) anzeigen lassen kann.
Ich bräuchte aber die letzten 3-5 Versionen.
Code:
public void download(BlinkDescription blinkDescription, IIMPOutputStream outputStream) throws CollectorException {
System.out.println("Ausgabe des Collectors");
String url = null;
String filePath = null;
SVNRepository repository = null;
Map fileProperties = new HashMap();
String mimeType = (String) fileProperties.get(SVNProperty.MIME_TYPE);
long endRevision = -1;
long startRevision = 0;
url = blinkDescription.getParameter(PARAMETER_SVN).getValue();
filePath = blinkDescription.getParameter(PARAMETER_SVN_FILE).getValue();
try {
repository = SVNRepositoryFactory.create(SVNURL.parseURIEncoded(url));
} catch (SVNException svne) {
System.err
.println("error while creating an SVNRepository for the location '"
+ url + "': " + svne.getMessage());
}
final IIMPOutputStream myOutputStream = outputStream;
try {
outputStream.setFileName(filePath);
String[] filename = filePath.split("//.");
String extension = filename[filename.length - 1];
outputStream.setMimeType("application/" + extension);
repository.getFile(filePath, -1, fileProperties, new OutputStream() {
@Override
public void write(int b) throws IOException {
myOutputStream.write(b);
}
});
} catch (Exception e) {
throw new CollectorException(e);
}
}
Also wenn ich mir die Doku anschaue, macht die einen verdammt kompletten Eindruck. Wo ist nun das Problem sich über die sehr gut dokumentierten Beispielcodes und ggf. die JavaDocs die passenden Infos rauszuziehen?
springt mir doch direkt ins Auge, dass hier hartverdrahtet eine Revision angegeben wird und man da ganz sicher auch ne passende Instanz für eine beliebige andere Revision angeben kann...
Da müsstest du schon viel Glück haben, dass hier jemand Langeweile hat sich da einzuarbeiten, oder vielleicht mal damit gearbeitet hat. Auf mich trifft nun beides nicht unbedingt zu