Cross-Platform Path Separator Inconsistencies via `path` Package

Aperta Adatta ai principianti
#476 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
82/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
go
Ambito
cli

Direzione di ricerca

Inizia in pkg/config/localconfig.go intorno alle righe 112-142 e traccia come vengono costruite e create le directory di configurazione. Verifica la modifica con un percorso Windows come C:\Users\Name e considera comandi come microcks login; il lavoro è completo quando i percorsi di configurazione usano separatori nativi senza errori dovuti a formati misti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

stale
Describe the bug
Description

In pkg/config/localconfig.go, configuration directory pathing and creation utilities use the path package instead of path/filepath. The Go standard library path package is strictly designed for forward-slash URL paths and does not handle Windows backslashes (\).

Impact

On Windows systems, paths are constructed in a mixed format (e.g. C:\Users\Name/.config/microcks/config), which causes file system APIs and permissions logic to fail or look in wrong locations.

Code Reference
  • pkg/config/localconfig.go
Diagram
graph TD
    A["getHomeDir() on Windows -> 'C:\\Users\\Name'"] --> B["path.Join(homeDir, '.config', 'microcks')"]
    B --> C["Result: 'C:\\Users\\Name/.config/microcks'"]
    C --> D["os.MkdirAll() creates folders with mixed slashes, breaking standard Windows paths"]
Steps to Reproduce
  1. Execute any command that reads or writes config on Windows (e.g., microcks login).
  2. The config directory is created/resolved in a non-native path format with mixed slashes.

Lingua principale
Go
Stelle
52
Fork
67
Merge medio
1g 1h
PR unite (30g)
13

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microcks/microcks-cli

Tutte le issue di microcks/microcks-cli

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.