Frage

Ich versuche, einen SVN Eclipese EFS zu erstellen Plugin und Probleme haben, wenn die Namen der Einträge zu bekommen.

Wenn ich einen Anruf an: SVNRepository

`// Holt den Inhalt eines Verzeichnisses in das bereitgestellte Sammelobjekt und gibt den Verzeichniseintrag selbst.

SVNDirEntry GETDIR (String path, lange Version, boolean includeCommitMessages, Sammlung Einträge) `

Es gibt richtig den Eintrag für den Pfad zur Verfügung gestellt, jedoch ist es nicht den „Namen“ Wert auf dem „zurückgegeben“ Eintrag gesetzt ist. Beachten Sie, die Elemente in der Auflistung zurückgegeben sind alle in Ordnung.

Wer weiß, warum? Und / oder wenn es eine Abhilfe?

Siehe auch: http://svnkit.com/javadoc/org/tmatesoft/ Svn / core / io / SVNRepository.html http: // SVNKit. com / javadoc / org / tmatesoft / svn / core / io / SVNRepository.html # GETDIR (java.lang.String , lang, boolean, java.util.Collection)

War es hilfreich?

Lösung

  

Es gibt richtig den Eintrag für den Pfad zur Verfügung gestellt, es jedoch,   nicht den „Name“ Wert auf dem „zurückgegeben“ Eintrag gesetzt ist. Beachten Sie, dass die Elemente   in der Sammlung sind alle OK zurückgegeben.

Behandeln Sie es wie „ls“ Befehl Listeneinträge im Verzeichnis. Das Verzeichnis selbst wird als dargestellt werden „“. Oder besser zu sagen, dass Name des Eintrags in das Verzeichnis ist relativ und für das Verzeichnis selbst ist ein leerer String.

  

Wer weiß, warum? Und / oder wenn es eine Abhilfe?

Mit dirEntry.getURL () und dann können Sie Namen aus der URL der Weg berechnen. Auch Verzeichnisname ist entweder Teil der „Pfad“ Parameter oder einen Teil des SVNRepository zur Lage des Objekts URL.

Andere Tipps

Ich habe überprüft und die SVNDirEntry durch die getDir() Methode zurückgegeben hat immer seinen Namen Attribut auf einen leeren String.

Allerdings, wenn das Verfahren verwendet wird, um ein Verzeichnis zu holen jeden Verzeichniseintrag Listing hat seinen Namen richtig zugewiesen.

ich denke, das Verhalten etwas buggy ist, obwohl Sie immer noch den Namen eines SVNDirEntry durch seine URL herausfinden können:

SVNDirEntry dirEntry = repository.getDir("branches/1.0", -1, false, null);
String name = SVNPathUtil.tail(dirEntry.getURL().getPath());
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top