Angenommen, ich habe ein SVN-Repository unter https://www.mysvn.com/svn/. Wie kann ich mit SharpSVN herausfinden, ob der Remote-Ordner https://www.mysvn.com/svn/a/b/c auf dem Server existiert?Wie SharpSVN verwendet wird, um (schnell) zu überprüfen, ob ein Remote-Ordner/eine Datei auf dem Server existiert
Ich muss es auf eine Weise tun, die es mir ermöglicht, den Unterschied zwischen einer fehlgeschlagenen Verbindung (dh Server unten) und dem Ordner einfach noch nicht erstellt zu haben.
Aufruf Informationen über die vollständige https://www.mysvn.com/svn/a/b/c Pfad scheint keine Ausnahme zu geben, die mir den Unterschied zwischen keinem Repository überhaupt und nur einen fehlenden Ordner unterscheiden kann.
Ich könnte alle Dateien für https://www.mysvn.com/svn/ auflisten, aber das Repository kann leicht so groß sein, dass dies zu lange dauern kann.
Im Moment mache ich eine Info über zuerst die Root-URL und dann auf die volle URL. Wenn die Root-URL fehlschlägt, behandle ich sie als ein Serverproblem, aber wenn es erfolgreich ist und die vollständige URL fehlschlägt, nehme ich an, weil ein Teil des Pfades nicht auf dem Server erstellt wurde. Dies könnte jedoch die falsche Antwort geben, wenn die Internetverbindung zwischen den beiden Überprüfungen oder ähnlichem verloren gegangen wäre.
Im derzeit mit lokalen Dateisystem-Repositories Testen (dh die URL "file: ///"), und in diesem Fall SharpSvn.SvnClient.List gibt mir eine "SharpSvn.SvnRepositoryIOException: Kann nicht eine ra_local Sitzung zu URL" öffnen, wenn ich es die URL des Repositorys mit einem falschen relativen Pfad angehängt füttern. Genau die gleiche Ausnahme wird ausgelöst, wenn eine komplett falsche URL angegeben wird. –
Ziphnor