Improve case-sensitive path comparison
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- csharp
- Ambito
- operating-systems
Direzione di ricerca
Non vengono indicati file o test. Inizia individuando l’implementazione esistente del confronto dei percorsi e la sua API pubblica, quindi segui il modo in cui vengono selezionati i valori predefiniti della piattaforma. L’issue è completata quando sono definite policy di confronto testuale, predefinita della piattaforma e consapevole del file system, e i chiamanti possono scegliere un comparer, preservando il comportamento predefinito della piattaforma.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I suggest the following changes.
- Introduce three different path comparator kinds.
-
Textual only. This one should operate on strict string equality, and named accordingly (something like
StrictStringPathComparer?). -
Platform-default comparer: should implement case-sensitive comparison on Linux, and case-insensitive (probably with corresponding relaxations related to Unicode normalization) on Windows and macOS.
-
File-system-aware comparer: for each compared path component, should compare the actual case sensitivity of the corresponding file system subroot. For non-existent paths, it should use the platform-dependent policy of calculating the case sensitivity for new subdirectories (is it normally taken from the parent directory?).
This one is obviously IO-intensive, so I'm thinking of introducing some sort of "sensitivity cache" that'd store the lists of checked paths and subtrees in a trie data structure, and would be used for one or multiple operations (probably one per comparer instance, with the ability of manual reset).
-
- Allow the paths to use different comparers; platform-default being used by default, as one giving the best precision while not losing performance dur to intensive IO.
- Lingua principale
- C#
- Stelle
- 104
- Fork
- 19
- Merge medio
- 1g 6m
- PR unite (30g)
- 9
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ForNeVeR/TruePath
-
enhancement good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ForNeVeR/TruePath#165 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 2 giorni
-
bug help wanted
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
ForNeVeR/TruePath#226 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
I maintainer di solito rispondono entro 2 giorni
-
Dependency DashboardApertadashboard
Difficoltà 3/5 1-2 giorni Idoneità per principianti 15/100
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di ForNeVeR/TruePath
Issue simili
-
0 - Backlog Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
BrighterCommand/Brighter#4444 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
area:frontend bug FE P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
klasolsson81/jobbliggaren#1915 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
microsoft/vscode-copilotstudio#431 ·
I maintainer di solito rispondono entro 2 giorni