-
-
Notifications
You must be signed in to change notification settings - Fork 998
Comparing changes
Open a pull request
base repository: gitpython-developers/GitPython
base: 3.1.61
head repository: gitpython-developers/GitPython
compare: 3.1.62
- 15 commits
- 11 files changed
- 5 contributors
Commits on Aug 28, 2026
-
Merge pull request #2222 from gitpython-developers/new-release
prepare next release
Configuration menu - View commit details
-
Copy full SHA for 589d8af - Browse repository at this point
Copy the full SHA 589d8afView commit details
Commits on Sep 1, 2026
-
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>
Configuration menu - View commit details
-
Copy full SHA for 180b1ff - Browse repository at this point
Copy the full SHA 180b1ffView commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 0e8c23c - Browse repository at this point
Copy the full SHA 0e8c23cView commit details -
Merge pull request #2224 from gitpython-developers/worktree-from-bare
Keep bare-repository worktrees non-bare
Configuration menu - View commit details
-
Copy full SHA for 1d47514 - Browse repository at this point
Copy the full SHA 1d47514View commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 1ed0ebc - Browse repository at this point
Copy the full SHA 1ed0ebcView commit details -
Merge pull request #2225 from gitpython-developers/submodule-path-har…
…dening Reject unsafe submodule checkout paths
Configuration menu - View commit details
-
Copy full SHA for 8a14adc - Browse repository at this point
Copy the full SHA 8a14adcView commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 23d0e92 - Browse repository at this point
Copy the full SHA 23d0e92View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 62d1e2f - Browse repository at this point
Copy the full SHA 62d1e2fView commit details
Commits on Sep 3, 2026
-
fix: join backslash line continuations when reading config values
git config joins an unquoted value that ends in a backslash with the next line: the backslash and the newline are removed and the next line is appended verbatim, so 'k = line1\' followed by ' line2' reads back as 'line1 line2'. GitPython only implemented multi-line values for quoted strings; for unquoted values the continuation line was silently dropped, truncating whatever was stored in the config. Read the continuation inside _read and join it, chaining across lines that themselves end in a backslash. An even number of trailing backslashes is an escaped one, so the value ends there; a single backslash right at end-of-file is dropped, matching git. Verified against git itself for every case covered by the new tests.
NK committedSep 3, 2026 Configuration menu - View commit details
-
Copy full SHA for 075a664 - Browse repository at this point
Copy the full SHA 075a664View commit details
Commits on Sep 4, 2026
-
fix: ignore continuation markers in config comments
<!-- agent --> Git treats # and ; outside quotes as the start of a comment. A trailing backslash in that ignored text therefore cannot continue the value. The continuation loop counted trailing slashes without lexical context, so it consumed the next option and a later writable flush silently dropped that setting. - Track quote and escape state while checking the accumulated value. - Stop continuation scanning at an unquoted comment. - Cover preservation of the following option across a writable flush. Assisted-by: GPT 5.6 Co-authored-by: GPT 5.6 <codex@openai.com>
Configuration menu - View commit details
-
Copy full SHA for 60dd946 - Browse repository at this point
Copy the full SHA 60dd946View commit details -
fix: parse joined config values as a whole
Git removes each backslash-newline pair before parsing the resulting logical value. Appending physical lines after processing only the first line left trailing whitespace, comments, quotes, and recognized escapes literal. That divergence returned values unlike git config and could preserve comment text as configuration data. - Accumulate continuation text before parsing it. - Apply whitespace, comment, quote, and escape handling once to the complete value. - Cover each affected syntax form with Git-compatible expectations. Assisted-by: GPT 5.6 Co-authored-by: GPT 5.6 <codex@openai.com>
Configuration menu - View commit details
-
Copy full SHA for a15f791 - Browse repository at this point
Copy the full SHA a15f791View commit details -
Merge pull request #2227 from nkbeast/fix-config-backslash-continuation
fix: join backslash line continuations when reading config values
Configuration menu - View commit details
-
Copy full SHA for 9ebf8b6 - Browse repository at this point
Copy the full SHA 9ebf8b6View commit details
Commits on Sep 6, 2026
-
Configuration menu - View commit details
-
Copy full SHA for b754897 - Browse repository at this point
Copy the full SHA b754897View commit details
Commits on Sep 7, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 10ec385 - Browse repository at this point
Copy the full SHA 10ec385View commit details -
Configuration menu - View commit details
-
Copy full SHA for db47516 - Browse repository at this point
Copy the full SHA db47516View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 3.1.61...3.1.62