Check joined short-option values before Git execution · gitpython-developers/GitPython@96a888f · GitHub
Skip to content

Commit 96a888f

Browse files
Byroncodex
andcommitted
Check joined short-option values before Git execution
<!-- agent --> GHSA-wvpp-8hx9-p66j reports that unsafe-option checks omitted the value joined to a one-character option when split_single_char_options was false. A regression test reproduced the mismatch: GitPython checked only -n even though it emitted a joined -nVALUE token that Git parses as clustered short options. Collect the exact joined token for unsplit one-character keyword arguments so the existing clustered-short-option validation sees every option character. The split form and long-option behavior remain unchanged. A broader audit confirmed that all guarded keyword-forwarding APIs use _option_candidates, including clone, ls-remote, fetch, pull, push, archive, revision, diff, checkout-index, and tag paths. Git cf5497b14 confirms repeated short-option parsing within a joined token. Focused candidate and unsafe-option tests pass. Assisted-by: GPT 5.6 Co-authored-by: GPT 5.6 <codex@openai.com>
1 parent a495ccd commit 96a888f

2 files changed

Lines changed: 19 additions & 3 deletions

File tree

git/cmd.py

Lines changed: 10 additions & 2 deletions

test/test_git.py

Lines changed: 9 additions & 1 deletion

0 commit comments

Comments
 (0)