test_debt_split.py started debt_split.py as a subprocess for every split
and committed the index in setUp and after each split, although only the
rebase tests and the resolve test outside a rebase depend on a commit.
The split helper now calls main() in process from the fixture's directory
with its output sent to a sink, the commits move into those tests, and
the test's git commands skip the automatic maintenance subprocess. One
test keeps a split through the command line to cover its output, and
resolve stays a subprocess. The test starts about a third fewer
processes and takes half the time on Linux; Windows CI reported 34 s
for it.
render_index emitted a blank line only after a heading or text line, so a
paragraph following an entry that stays in the index was written directly
under the bullet, and Markdown read it as a lazy continuation of the list.
debt_split resolve anchored an added entry to the previous entry of the whole index. When that entry was in another section or another library's file, the new entry was appended to the end of its section instead of being placed before the entry it precedes.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
On Windows debt_split rewrote the index and the debt files with CRLF, and resolve staged them that way when core.autocrlf is off. The files are now written through open(..., newline="\n"), which also works on Python 3.9, where Path.write_text has no newline argument.
Co-Authored-By: Claude Opus 5.5 <[email protected]>