Question

Je suis en train de créer un plugin EFS SVN Eclipese et ont des problèmes lors de l'obtention des noms des entrées.

Quand je fais un appel à: SVNRéférentiel

`// Récupère le contenu d'un répertoire dans l'objet de collection fourni et retourne l'entrée du répertoire lui-même.

SVNDirEntry GETDIR (chemin de chaîne, longue révision, includeCommitMessages booléennes, les entrées de collection) `

Il retourne correctement l'entrée du chemin prévu, cependant, il ne fixe pas la valeur « nom » sur l'entrée « retour ». Remarque, les articles retournés dans la collection sont OK.

Quelqu'un sait pourquoi il en est? Et / ou s'il existe une solution?

Voir: 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 , long, booléen, java.util.Collection)

Était-ce utile?

La solution

  

Il renvoie correctement l'entrée du chemin prévu, cependant, il   ne définit pas la valeur « nom » sur l'entrée « retour ». Remarque, les éléments   de retour dans la collection sont tous OK.

traiter comme commande « ls » à la liste des entrées dans le répertoire. Le répertoire lui-même sera représenté par « ». Ou mieux dire que le nom de l'entrée est par rapport au répertoire et le répertoire lui-même est une chaîne vide.

  

Quelqu'un sait pourquoi il en est? Et / ou s'il existe une solution?

Utilisez dirEntry.getURL () et vous pouvez calculer le nom du chemin de l'URL. En outre, le nom de répertoire est soit une partie du paramètre « path » ou d'une partie de l'URL de l'emplacement de l'objet SVNRéférentiel.

Autres conseils

Je l'ai vérifié et le SVNDirEntry retourné par la méthode de getDir() a toujours son attribut name défini sur une chaîne vide.

Toutefois, lorsque cette méthode est utilisée pour chercher un répertoire répertoriant chaque entrée de répertoire a son nom correctement attribué.

Je pense que le comportement est un peu buggé mais vous pouvez toujours trouver le nom d'un SVNDirEntry par son URL:

SVNDirEntry dirEntry = repository.getDir("branches/1.0", -1, false, null);
String name = SVNPathUtil.tail(dirEntry.getURL().getPath());
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top