SVNKit Hilfe

Lay-C

Aktives Mitglied
Guten Tag,

Ich versuche gerade in einem Programm JavaHL durch reines SVNKit zu ersetzen.
Allerdings ist die Dokumentation meiner Meinung nach ziemlich schlecht und auch Google findet nichts zu meinem Problem.

Ich möchte einfach nur ein Checkout machen, mehr brauche ich garnicht.

Bisher habe ich folgendes:

Java:
if(configuration.getUrl().startsWith("svn://")){
				SVNRepositoryFactoryImpl.setup();
			} else if(configuration.getUrl().startsWith("http://")){
				DAVRepositoryFactory.setup();
			} else {
				throw new SVNException(SVNErrorMessage.create(SVNErrorCode.BAD_URL, "The repository url has to start with svn:// or http://.", SVNErrorMessage.TYPE_ERROR));
			}
			SVNURL url = SVNURL.parseURIDecoded(configuration.getUrl());
			repository = SVNRepositoryFactory.create(url);
authManager = new BasicAuthenticationManager(username, password);
			repository.setAuthenticationManager(authManager);

mein Problem ist nun, dass man für
Code:
repository.checkout()
eine Klasse benötigt, die ISVNEditor implementiert.
Allerdings habe ich keine Ahnung, wie eine solche Implementierung aussehen soll. Google hilft mir hier leider auch nicht, da es mich immer wieder zur "tollen" Dokumentation bringt, die mir nur sagt, welche Methoden wann aufgerufen werden.

Kann mir jemand sagen, wie eine solche Implementierung aussehen soll, oder hat einen Link zu einer besseren Erklärung als der Anleitung auf svnkit.com? Oder kennt jemand eine Alternative zu
Code:
repository.checkout()
?
 
Hi,

zuerst einmal lass das komische parsen der URL sein und initialisiere SVNKit einfach wie folgt:
Java:
   static {
        setupLibrary();
    }
    private static void setupLibrary() {
        /*
         * For using over http:// and https://
         */
        DAVRepositoryFactory.setup();
        /*
         * For using over svn:// and svn+xxx://
         */
        SVNRepositoryFactoryImpl.setup();

        /*
         * For using over file:///
         */
        FSRepositoryFactory.setup();
    }

Java:
        SVNURL repositoryURL = null;
        try {
            repositoryURL = SVNURL.parseURIEncoded("URL hier eintragennn");
        } catch (SVNException e) {
            //Failure
        }

        ISVNOptions options = SVNWCUtil.createDefaultOptions(true);

        /*
         * Creates an instance of SVNClientManager providing authentication
         * information (name, password) and an options driver
         */
        SVNClientManager ourClientManager = SVNClientManager.newInstance(options);

        SVNUpdateClient updateClient = ourClientManager.getUpdateClient();
        /*
         * sets externals not to be ignored during the checkout
         */
        updateClient.setIgnoreExternals(false);
        /*
         * returns the number of the revision at which the working copy is
         */
        updateClient.doCheckout(repositoryURL, new File("destination"), SVNRevision.HEAD, SVNRevision.HEAD, SVNDepth.INFINITY, false);

Zum Thema doku kann ich nur sagen, das Wiki beinhaltet sehr viel Doku....

z.B.:
https://wiki.svnkit.com/Managing_A_Working_Copy
https://wiki.svnkit.com/

Auch eine gute quelle ist der Source Code.

Gruß
Karl Heinz Marbaise
 
Zuletzt bearbeitet:
@fassy der "Tame SVN" Link hat mir zwar auf meiner Maschine geholfen (hier waren Username und Passwort noch gecached), wenn ich das Programm woanders starte benötige ich allerdings eine Authentifizierung.
Weißt du zufällig wie ich dem UpdateClient einen AuthenticationManager zuweise?

EDIT: Habe es gerade gefunden. Trotzdem danke.
 
Zuletzt bearbeitet:

Zurück
Oben