getRelativeFilePath fails on Windows due to case-sensitive string replacement
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- typescript, vscode
- Ambito
- devtools
Direzione di ricerca
Inizia in src/utils.ts, in getRelativeFilePath, e confronta la gestione attuale dei percorsi con l'esempio Windows nell'issue. Riproduci la differenza tra maiuscole e minuscole, se possibile, quindi verifica che l'URL di blame generata contenga il percorso relativo al repository anziché il percorso locale completo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
On Windows, commands like "Githubinator: Blame" produce URLs containing the full local file path instead of the repo-relative path:
https://github.com/user/repo/blame/<sha>/E%3A%5Cgit%5Cruntime%5Csrc%5Clibraries%5C...
instead of:
https://github.com/user/repo/blame/<sha>/src/libraries/...
Root cause: In src/utils.ts, getRelativeFilePath uses String.replace():
const resolvedFileName = fs.realpathSync(fileName)
return resolvedFileName.replace(repositoryDir.fsPath, "")
fs.realpathSync() resolves to the true filesystem casing (e.g., E:\git\runtime\...), but repositoryDir.fsPath may have different casing (e.g., e:\git\runtime\...). Since String.replace() is case-sensitive, the replacement silently fails on Windows and the entire absolute path ends up in the URL.
Suggested fix: Use path.relative() instead, which handles case and separator differences correctly on all platforms:
const resolvedFileName = fs.realpathSync(fileName)
return path.relative(repositoryDir.fsPath, resolvedFileName)
- Lingua principale
- TypeScript
- Stelle
- 21
- Fork
- 10
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
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 chdsbd/vscode-githubinator
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
Tutte le issue di chdsbd/vscode-githubinator
Issue simili
-
comp/desktop P3 type/bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
NousResearch/hermes-agent#118866 ·
-
Browser Waiting for: Product Owner
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
getsentry/sentry-javascript#24577 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
agilepathway/label-checker#640 ·
-
Plugin stuck at "loading" on DSH 0.1.6-alpha.2 — turnTail list slot registration missing options.id Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Add 2021 Cup data to website Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
chrisparsons83/flexspotff#153 ·