Commit 587fbc1
fix(repos): normalize whitespace in repo identifiers before lookup (#261)
## Summary
Inputs like `' usedetail/cli'` or `'usedetail / cli'` passed
`validate_owner_repo_format` (which used `.trim().is_empty()` only for
emptiness checks) but were then compared verbatim against `r.full_name`.
The exact match failed and users got a misleading **"Repository not
found. Make sure you have access …"** error for what was actually a
whitespace typo.
Trim the identifier, and trim each half of an `owner/repo` pair, before
matching. The "not found" error now quotes the normalized form so the
hint itself is accurate.
## Stacked on
**#260** (fix for GitHub remote parsing with embedded credentials). Base
branch is `siyer/fix-parse-github-remote-creds`; the diff against main
is just the repos.rs change.
## Test plan
- [x] `cargo test --lib utils::repos` — 22 pass, including 4 new cases
(leading/trailing whitespace, whitespace around slash, bare-name trim,
normalized error message)
- [x] `cargo clippy -- -D warnings` clean
- [x] `cargo fmt --check` clean
Fixes #230.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- devin-review-badge-begin -->
---
<a href="https://app.devin.ai/review/usedetail/cli/pull/261"
target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
<img
src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
alt="Open in Devin Review">
</picture>
</a>
<!-- devin-review-badge-end -->
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent fb56132 commit 587fbc1
1 file changed
Lines changed: 46 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
77 | | - | |
78 | | - | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
79 | 89 | | |
80 | 90 | | |
81 | | - | |
| 91 | + | |
82 | 92 | | |
83 | 93 | | |
84 | | - | |
| 94 | + | |
85 | 95 | | |
86 | 96 | | |
87 | | - | |
| 97 | + | |
88 | 98 | | |
89 | 99 | | |
90 | 100 | | |
| |||
235 | 245 | | |
236 | 246 | | |
237 | 247 | | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
238 | 279 | | |
0 commit comments