Improve case-sensitive path comparison
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- csharp
- Domínio
- operating-systems
Direção de pesquisa
Nenhum arquivo ou teste é especificado. Comece localizando a implementação existente de comparação de caminhos e sua API pública; em seguida, rastreie como os padrões da plataforma são selecionados. A issue estará concluída quando as políticas de comparação textual, padrão da plataforma e ciente do sistema de arquivos estiverem definidas e os chamadores puderem escolher um comparer, preservando o comportamento padrão da plataforma.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- C#
- Estrelas
- 106
- Forks
- 22
- Merge médio
- 1d 6min
- PRs com merge (30d)
- 9
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de ForNeVeR/TruePath
-
enhancement good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
ForNeVeR/TruePath#165 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
enhancement help wanted
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
Mantenedores costumam responder em até 1 dia
-
bug help wanted
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
ForNeVeR/TruePath#226 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
enhancement good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 55/100
Mantenedores costumam responder em até 1 dia
-
Dependency DashboardAbertadashboard
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 15/100
Mantenedores costumam responder em até 1 dia
Todas as issues de ForNeVeR/TruePath
Issues semelhantes
-
WPF: each page's `Title` overwrites the window title, and returning to a page does not restore itAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
agentic-workflows area/Docs partner/agentic-workflows
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
jamesmontemagno/tiny-clips#378 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
go 🏃 testing 🧪
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
valkey-io/valkey-glide#7239 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
SubtitleEdit/subtitleedit#15462 ·
Mantenedores costumam responder em até 1 dia