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: 56636c3
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: 62d1e2f
Choose a head ref
  • 14 commits
  • 11 files changed
  • 4 contributors

Commits on Aug 25, 2026

  1. Merge pull request #2218 from gitpython-developers/fix-repo-open

    Fix repository discovery precedence
    Byron authored Aug 25, 2026
    Configuration menu
    Copy the full SHA
    3481da9 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2026

  1. fix: wait for git daemon to listen before connecting

    Properly wait instead of hardcoding a short sleep.
    
    Fixes #1676
    Vogtinator committed Aug 27, 2026
    Configuration menu
    Copy the full SHA
    db1a2cf View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2026

  1. Merge pull request #2219 from Vogtinator/main

    fix: wait for git daemon to listen before connecting
    Byron authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    a9fb008 View commit details
    Browse the repository at this point in the history
  2. fix: restore Actor.name_email_regex (#2220)

    <!-- agent -->
    GitPython 3.1.60 removed the Actor.name_email_regex class attribute while
    replacing internal actor parsing, which broke downstream consumers such as
    python-semantic-release.
    
    Bring back the historical compiled pattern for downstream compatibility,
    but emit DeprecationWarning whenever the class member is accessed. The warning
    explains its quadratic behavior on long malformed strings and points callers to
    the public Actor(name, email) constructor when fields are separate, or direct
    string parsing when they are not.
    
    Assisted-by: GPT 5.6
    Co-authored-by: GPT 5.6 <codex@openai.com>
    
    # 252a84ac Add public Actor.from_string constructor (#2220)
    
    Add public Actor.from_string constructor (#2220)
    
    Promote the existing actor identity parser to Actor.from_string while retaining _from_string as a compatibility alias. Point the name_email_regex deprecation warning to the new public constructor or Actor(name, email).
    
    Validation:
    - actor-related test/test_actor.py and test/test_util.py cases: 12 passed
    - ruff check and format checks passed
    - basedpyright git/util.py: no errors
    
    Co-authored-by: Codex GPT-5 <codex@openai.com>
    
    # dd2181d8 Address review feedback about Actor subclasses
    
    Address review feedback about Actor subclasses
    
    Review feedback: Actor.from_string() should preserve the class on which the public classmethod is called instead of always returning a base Actor.
    
    Construct through cls on both parsing paths and cover subclass construction directly.
    
    Validation:
    - actor-related test/test_actor.py and test/test_util.py cases: 13 passed
    - ruff check and format checks passed
    - basedpyright git/util.py: no errors
    
    # fcf1ecb1 Address review feedback about constructor typing
    
    Address review feedback about constructor typing
    
    Review feedback: Actor.from_string() constructs subclasses at runtime but its Actor return annotation prevents type checkers from preserving subclass-specific members.
    
    Use the project existing Python 3.7-compatible bound TypeVar pattern so the declared return type follows cls.
    
    Validation:
    - actor-related test/test_actor.py and test/test_util.py cases: 13 passed
    - ruff check and format checks passed
    - basedpyright git/util.py: no errors
    
    Co-authored-by: Codex GPT-5 <codex@openai.com>
    Byron and codex committed Aug 28, 2026
    Configuration menu
    Copy the full SHA
    bc63b02 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2221 from gitpython-developers/re-add-regex

    fix: restore Actor.name_email_regex
    Byron authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    d81336b View commit details
    Browse the repository at this point in the history
  4. prepare next release

    Byron committed Aug 28, 2026
    Configuration menu
    Copy the full SHA
    5346d1b View commit details
    Browse the repository at this point in the history
  5. Merge pull request #2222 from gitpython-developers/new-release

    prepare next release
    Byron authored Aug 28, 2026
    Configuration menu
    Copy the full SHA
    589d8af View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2026

  1. fix: keep bare-repository worktrees non-bare (#2223)

    <!-- agent -->
    Opening a linked worktree created from a bare repository read `core.bare` from the
    common repository and discarded the worktree path.
    
    Keep a discovered linked worktree non-bare when its administrative directory has
    a `commondir` marker. The regression compares Git rev-parse behavior and verifies
    Repo.bare and working_tree_dir.
    
    Git baseline: 0bd5a6920d7c4238e0d90ddc0e7e08866e84a0f1;
    environment.c:is_bare_repository() and setup.c:check_repository_format_gently().
    Git 2.50.1 reports the linked checkout as non-bare.
    
    Assisted-by: GPT 5.6
    Co-authored-by: GPT 5.6 <codex@openai.com>
    Byron and codex committed Sep 1, 2026
    Configuration menu
    Copy the full SHA
    180b1ff View commit details
    Browse the repository at this point in the history
  2. ci: restore Cygwin virtual environments on Python 3.9

    <!-- agent -->
    Cygwin patches ensurepip to load setuptools and pip wheels from
    `/usr/share/python-wheels`. The rolling python-pip-wheel package advanced to pip
    26.2.1, which requires Python 3.10 or newer, so every Python 3.9 venv creation
    failed—including the installation test's nested virtual environment.
    
    Keep the single Cygwin lane on Python 3.9 because the regular matrix already
    covers Python 3.12 and newer. Install Cygwin's setuptools wheel, download pip
    26.0.1 from its immutable PyPI URL into ensurepip's shared wheel directory,
    verify its SHA-256 digest, and avoid upgrading pip. This fixes all venv creation
    without relying on a version that may disappear from rolling Cygwin mirrors.
    
    Assisted-by: GPT 5.6
    Co-authored-by: GPT 5.6 <codex@openai.com>
    Byron and codex committed Sep 1, 2026
    Configuration menu
    Copy the full SHA
    0e8c23c View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2224 from gitpython-developers/worktree-from-bare

    Keep bare-repository worktrees non-bare
    Byron authored Sep 1, 2026
    Configuration menu
    Copy the full SHA
    1d47514 View commit details
    Browse the repository at this point in the history
  4. Reject submodule checkout paths outside the repository

    GHSA-59cr-6r3x-644w identifies that submodule update paths could reach
    filesystem operations without the containment check already used by add and
    move.
    
    Add a regression that proves update rejects a parent-directory checkout
    path before cloning, and override Submodule.abspath to apply the shared
    _to_relative_path guard for every filesystem consumer.
    
    Git baseline: git.git read-cache.c verify_path_internal() rejects invalid index
    paths, covered for parent traversal by t/t9300-fast-import.sh.
    
    Assisted-by: GPT 5.6
    Co-authored-by: GPT 5.6 <codex@openai.com>
    Byron and codex committed Sep 1, 2026
    Configuration menu
    Copy the full SHA
    1ed0ebc View commit details
    Browse the repository at this point in the history
  5. Merge pull request #2225 from gitpython-developers/submodule-path-har…

    …dening
    
    Reject unsafe submodule checkout paths
    Byron authored Sep 1, 2026
    Configuration menu
    Copy the full SHA
    8a14adc View commit details
    Browse the repository at this point in the history
  6. build(deps): bump https://github.com/astral-sh/ruff-pre-commit

    Bumps the pre-commit group with 1 update: [https://github.com/astral-sh/ruff-pre-commit](https://github.com/astral-sh/ruff-pre-commit).
    
    
    Updates `https://github.com/astral-sh/ruff-pre-commit` from v0.16.0 to 0.16.5
    - [Release notes](https://github.com/astral-sh/ruff-pre-commit/releases)
    - [Commits](astral-sh/ruff-pre-commit@v0.16.0...v0.16.5)
    
    ---
    updated-dependencies:
    - dependency-name: https://github.com/astral-sh/ruff-pre-commit
      dependency-version: 0.16.5
      dependency-type: direct:production
      dependency-group: pre-commit
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Sep 1, 2026
    Configuration menu
    Copy the full SHA
    23d0e92 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #2226 from gitpython-developers/dependabot/pre_com…

    …mit/pre-commit-d501b75439
    
    build(deps): bump https://github.com/astral-sh/ruff-pre-commit from v0.16.0 to 0.16.5 in the pre-commit group
    Byron authored Sep 1, 2026
    Configuration menu
    Copy the full SHA
    62d1e2f View commit details
    Browse the repository at this point in the history
Loading