sshnet / sshnet/SSH.NET

Current Directory and Parent Directory returned by ListDirectory.

Offen
#331 0 Kommentare 9 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C#
Sterne
4.4k
Forks
993
Ø Merge
9 T. 21 Std.
Gemergte PRs (30 T.)
1

Beschreibung

Running sftpClient.ListDirectory(path) returns values . and ...
Whilst this is valid behaviour, special consideration has to be given whenever using this command to determine if we want these "relative-folders". There's also no flag (e.g. IsRelative) to easily filter; rather we have to filter on the folder's name to detect / exclude these.

$client.ListDirectory('/files') | Format-Table Name, Is* -AutoSize
Name                      IsSocket IsSymbolicLink IsRegularFile IsBlockDevice IsDirectory IsCharacterDevice IsNamedPipe
----                      -------- -------------- ------------- ------------- ----------- ----------------- -----------
..                           False          False         False         False        True             False       False
out                          False          False         False         False        True             False       False
.                            False          False         False         False        True             False       False
in                           False          False         False         False        True             False       False

Adding an option to hide these (either on the call to ListDirectory, or as a preference for the SftpClient itself would be helpful; or simply providing an IsRelative property on the SftpFile class to allow easy discrimination.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne am ListDirectory-Einstiegspunkt und untersuche die im Issue gezeigte SftpFile-Repräsentation. Vergleiche die angeforderte Filteroption mit einem IsRelative-artigen Diskriminator und überprüfe anschließend, dass das gewählte Verhalten Aufrufern ermöglicht, . und .. ohne namensbasierte Filterung auszuschließen. Als erledigt gilt, wenn die API eine dokumentierte, testbare Möglichkeit bietet, beide Einträge auszublenden oder zu identifizieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
networking
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.