Merge pull request #5736 from wachi35676/fix/tools-debt-split-line-endings

fix(tools): write technical debt files with LF line endings
This commit is contained in:
Adrià authored and GitHub committed 2026-10-15 14:20:46 +02:00
commit 4e9a2a8719
2 files changed
+12 -3

No files matched your search

+8 -3
View File
@@ -77,6 +77,11 @@ def read_debt(root, name):
return sections
def write_lf(path, text):
with open(path, "w", encoding="utf-8", newline="\n") as file:
file.write(text)
def write_debt(root, name, sections, order):
path = root / debt_file(name)
sections = {section: entries for section, entries in sections.items() if entries}
@@ -85,7 +90,7 @@ def write_debt(root, name, sections, order):
path.unlink()
return
path.parent.mkdir(parents=True, exist_ok=True)
path.write_text(render(f"# {name} technical debt", sections, order), encoding="utf-8")
write_lf(path, render(f"# {name} technical debt", sections, order))
def sections_of(text):
@@ -132,7 +137,7 @@ def command_split(root):
write_debt(root, name, existing, order)
if index_note() not in index:
index.insert(1, index_note())
(root / INDEX).write_text(render_index(index), encoding="utf-8")
write_lf(root / INDEX, render_index(index))
print("\n".join(sorted(debt_file(name) for name in files)))
@@ -215,7 +220,7 @@ def command_resolve(root):
touched = apply_change(root, base, theirs, ours)
except LookupError as error:
sys.exit(str(error))
(root / INDEX).write_text(ours, encoding="utf-8")
write_lf(root / INDEX, ours)
git(root, "add", "--", INDEX, *touched)
print("\n".join(touched))
+4
View File
@@ -84,6 +84,8 @@ class DebtSplitTests(unittest.TestCase):
self.assertNotIn(entry.split(" - ")[0], text)
for kept in ("- A toolchain limitation", "Everything throws, except:", SHARED, "### Silent stubs", "[debt](debt/)"):
self.assertIn(kept, text)
for path in (INDEX, "docs/dev/debt/libSceA.md"):
self.assertNotIn(b"\r", (self.root / path).read_bytes())
def test_split_again_appends_to_existing_files(self):
self.split()
@@ -116,6 +118,8 @@ class DebtSplitTests(unittest.TestCase):
self.assertEqual(sorted(result.stdout.split()),
["docs/dev/debt/libSceA.md", "docs/dev/debt/libSceB.md", "docs/dev/debt/libSceC.md"])
self.assertEqual(self.git("diff", "--name-only", "--diff-filter=U").stdout, "")
for path in (INDEX, "docs/dev/debt/libSceA.md"):
self.assertNotIn(b"\r", (self.root / path).read_bytes())
self.git("rebase", "--continue")
a = self.read("docs/dev/debt/libSceA.md")
self.assertLess(a.index("`sceAOne`"), a.index("`sceAFour`"))