GeezerVison is showing github.com — Comparing 3.1.61...3.1.62 · gitpython-developers/GitPython
Permalink
base repository:
gitpython-developers/GitPython
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
Uh oh!
There was an error while loading. Please reload this page.
base:
3.1.61
head repository:
gitpython-developers/GitPython
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
Uh oh!
There was an error while loading. Please reload this page.
compare:
3.1.62
-
15
commits
-
11
files changed
-
5
contributors
Commits on Aug 28, 2026
-
Configuration menu
Browse the repository at this point in the history
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 <[email protected]>
Configuration menu
Browse the repository at this point in the history
-
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 <[email protected]>
Configuration menu
Browse the repository at this point in the history
-
Configuration menu
Browse the repository at this point in the history
-
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 <[email protected]>
Configuration menu
Browse the repository at this point in the history
-
Configuration menu
Browse the repository at this point in the history
-
Configuration menu
Browse the repository at this point in the history
-
Configuration menu
Browse the repository at this point in the history
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.
Configuration menu
Browse the repository at this point in the history
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 <[email protected]>
Configuration menu
Browse the repository at this point in the history
-
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 <[email protected]>
Configuration menu
Browse the repository at this point in the history
-
Configuration menu
Browse the repository at this point in the history
Commits on Sep 6, 2026
-
Configuration menu
Browse the repository at this point in the history
Commits on Sep 7, 2026
-
Configuration menu
Browse the repository at this point in the history
-
Configuration menu
Browse the repository at this point in the history
Loading
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
Uh oh!
There was an error while loading. Please reload this page.
|