2010-02-19 6 views
5

Ich verwende SVNKit 1.3.2 und versuche, Arbeitskopie Revisionsnummer zu erhalten.svnkit: Wie bekomme ich die Revision der Arbeitskopie?

Arbeitskopie ist checkouted auch mit SVNKit, aber wenn ich versuche,

clientManager.getLookClient().doGetYoungestRevision(destination); 

zu nennen Ich habe FileNotFoundException mir zu sagen, dass ‚format‘ Datei nicht unter Zielpfad gefunden wird, ex /path/to/working/copy/format

ich kann 2 Probleme sehen: - Es wird versucht, Datei ‚format‘ für den Zugriff auf direkt im Stammverzeichnis arbeiten, während diese Datei in Svn Ordner sein soll

  • In diesem .svn-Ordner befindet sich keine Datei.

Irgendwelche Hinweise? Vielen Dank!

+0

Ich habe das gleiche Problem wie du. Das ist sehr seltsam. Ich habe deine Antwort versucht, aber es ist nicht ganz das, was ich brauche. –

Antwort

5

scheint es, durch SVNStatusClient geschehen zu sein sollte:

clientManager.getStatusClient().doStatus(destination, false).getRevision().getNumber(); 

Obwohl immer noch nicht verstehen, was mit doGetYoungestRevision ist das Problem (Ziel) ...

+0

Nachdem ich Änderungen in einer Arbeitskopie festgeschrieben hatte, musste ich '.doStatus (wc, true) .getRemoteRevision()' verwenden, um die Revision des Commits zu erhalten. '.doStatus (wc, false) .getRevision()' hat mir gerade die Revision gegeben, die ursprünglich ausgecheckt wurde. Wahrscheinlich gibt es hier einige Feinheiten, die mir fehlen. –

0

Es funktioniert nicht, weil doGetYoungestRevision für ist ein Repository, nicht für eine Arbeitskopie.

Ich hatte gehofft, die gleichen Dinge wie Sie zu erreichen, und fand heraus, dass, wenn destination auf ein Repository verweist, es die letzte Revisionsnummer des Repository zurückgibt.

Die Klasse selbst ist für das Arbeiten mit Repository, Sie können die Dokumentation here betrachten.

Verwandte Themen