Skip to content

v0.9.6 - Long Paths No Longer Break a Push on Windows

Choose a tag to compare

@github-actions github-actions released this 15 Oct 17:16
· 8 commits to main since this release

What's Changed in v0.9.6

A push of a repository holding long non-ASCII paths failed on Windows with
git pack-objects failed: fatal: expected object ID, got garbage. Found on a real vault whose Thai
file names run to 400 bytes. Nothing about what is stored changes.

Fixed

  • A long path broke the push. pack-objects --stdin on git for Windows reads each <id> <path>
    line into a 302-byte buffer and takes the overflow for the next line. The path is only a hint for
    delta compression, so a line over 300 bytes is now sent as the bare object id; the pack holds the
    same objects.
  • A path containing U+0085, U+2028 or U+2029 was cut in two by the object listing
    (str.splitlines() splits on them). It is now split on \n only.

Not changed

  • What is stored, the pack layout and every setting.

The full list is in CHANGELOG.md.


Full Changelog: v0.9.5...v0.9.6