sshnet / sshnet/SSH.NET

Current Directory and Parent Directory returned by ListDirectory.

Đang mở
#331 0 bình luận 9 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
C#
Star
4.4k
Fork
993
Merge trung bình
9 ngày 21 giờ
Pull request đã merge (30 ngày)
1

Mô tả

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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu tại điểm vào ListDirectory và kiểm tra biểu diễn SftpFile được issue hiển thị. So sánh tùy chọn lọc được yêu cầu với một bộ phân biệt kiểu IsRelative, sau đó xác minh rằng hành vi được chọn cho phép các bên gọi loại trừ . và .. mà không cần lọc dựa trên tên. Hoàn tất có nghĩa là API cung cấp một cách được ghi tài liệu và có thể kiểm thử để ẩn hoặc xác định cả hai mục.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
csharp
Lĩnh vực
networking
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
42/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.