Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: gitpython-developers/GitPython
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 3.1.51
Choose a base ref
...
head repository: gitpython-developers/GitPython
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 3.1.52
Choose a head ref
  • 5 commits
  • 7 files changed
  • 2 contributors

Commits on Jul 12, 2026

  1. test: skip relative config include across Windows drives

    On Windows, the writable temporary directory and the checkout can be on
    different drives. os.path.relpath() raises ValueError for such paths before
    GitConfigParser is exercised.
    
    Skip this relative-path-specific test on Windows, where the test setup cannot
    reliably construct the required relative path.
    
    Validation:
    - pytest -q test/test_config.py
    - ruff check test/test_config.py
    - ruff format --check test/test_config.py
    codex authored and Byron committed Jul 12, 2026
    Configuration menu
    Copy the full SHA
    67082d6 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2171 from gitpython-developers/fix-windows-tests

    Skip cross-drive relative config test on Windows
    Byron authored Jul 12, 2026
    Configuration menu
    Copy the full SHA
    7a46dfc View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2026

  1. fix: prevent environment expansion in clone URLs

    Repo.clone_from() expanded environment-variable references in caller-supplied
    URLs before passing them to git clone. This could expose process environment
    values to an untrusted remote and made protocol validation apply to a different
    value than Git received.
    
    Polish clone URLs without variable or home expansion on native and Cygwin
    Git, then apply unsafe-protocol validation to that exact normalized value.
    Preserve the literal URL when normalizing the stored origin after a successful
    clone, while retaining the existing Git.polish_url() default for callers
    that intentionally normalize local paths. Add regression coverage for
    POSIX and Windows variable syntax, Cygwin conversion, stored origins, and
    post-normalization protocol validation.
    
    Git baseline: git clone passes URL arguments through literally; t/t5601-clone.sh
    covers the accepted URL forms without shell-style environment expansion.
    
    Security: GHSA-rwj8-pgh3-r573.
    
    Co-authored-by: Sebastian Thiel <sebastian.thiel@icloud.com>
    codex and Byron committed Jul 16, 2026
    Configuration menu
    Copy the full SHA
    8ac5a30 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2172 from gitpython-developers/fix-clone-expandvars

    fix: preserve literal clone URLs
    Byron authored Jul 16, 2026
    Configuration menu
    Copy the full SHA
    c65dfb3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f8b6df5 View commit details
    Browse the repository at this point in the history
Loading