| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
<!-- Byron --> The code-change itself is trivial. Skimmed the tests, better to have them, but kind of low value given the amount of code they take. Oh well... <!-- agent --> `Repo._clone()` expanded `separate_git_dir` before invoking Git, so metadata could be written under a different directory name from the one requested. Preserve literal paths to address `GHSA-fx3j-rwgx-fr94`. Disable expansion in the shared `Git.polish_url()` call. Normalize path-like arguments with `os.fspath()` first so `pathlib.Path` and other `os.PathLike` implementations remain supported. Existing path separator conversion still applies. Add local regression coverage for both clone APIs, three path argument types, variable-like names, and recursive submodule initialization. Check the metadata location, usable submodule commit, and debug output. Git reference: checkout `d38352cd43ab9745686d697872408bc3249a153f`, `builtin/clone.c` and `t/t5601-clone.sh`'s separate-git-dir tests. Native Git 2.54.0 also preserved all three literal variable forms. Assisted-by: GPT 6.0 Co-authored-by: GPT 6.0 <codex@openai.com>
There was a problem hiding this comment.
No unresolved blocking issues were identified.
Review effort: Lite
Findings: None
Preserves literal separate Git directory paths during cloning and submodule resolution, including Cygwin paths.
Changes:
| File | Description |
|---|---|
| test/test_submodule.py | Tests recursive submodule path handling. |
| test/test_clone.py | Tests clone APIs and literal paths. |
| git/repo/fun.py | Preserves literal Cygwin gitfile paths. |
| git/repo/base.py | Preserves literal clone metadata paths. |
| doc/source/changes.rst | Documents the security advisory. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Tasks
This section is for Byron only. Models continuing this PR must not add, remove, check, uncheck, rename, or reorder checkboxes here.
Everything below this line was generated by Codex GPT-6.
Created by Codex on behalf of Byron. Byron will review before this is ready to merge.
Clones now preserve separate Git directory paths literally, including when Cygwin reopens a submodule through a relative .git file. The shared clone helper and gitfile resolver disable expansion during path conversion. os.fspath() keeps str, pathlib.Path, and other os.PathLike clone arguments working.
Regression tests cover both clone APIs, variable-like names, recursive submodule initialization, metadata locations, and debug output. Cygwin gitfile conversion is exercised on every platform.
Advisory summary
GHSA-fx3j-rwgx-fr94: medium severity; PyPI package GitPython, affected range <= 3.1.62. No patched version or CVE is assigned in the advisory.
Validation
Commits