mirror of
https://github.com/odoo/runbot.git
synced 2025-03-27 13:25:47 +07:00
[FIX] runbot_merge: mismatch can contain non-str values
The mismatch diff attribute contains values from the in-db object and the github PR structure, some of which are explicitly *not* strings (e.g. the squash flag, possibly the commits # in the future). As a result, when the squash-flag of a PR differs from the actual the formatting for diffing blows up, because difflib can't handle non-strings. Stringify values between passing them to `format_items`, this way the string operations on names and values should work correctly.
This commit is contained in:
parent
e3d87b5b5d
commit
6bc6dd77ab
@ -2197,8 +2197,8 @@ class Batch(models.Model):
|
|||||||
yield from value.splitlines(keepends=True)
|
yield from value.splitlines(keepends=True)
|
||||||
yield '\n'
|
yield '\n'
|
||||||
|
|
||||||
old = list(format_items((n, v) for n, v, _ in e.args[1]))
|
old = list(format_items((n, str(v)) for n, v, _ in e.args[1]))
|
||||||
new = list(format_items((n, v) for n, _, v in e.args[1]))
|
new = list(format_items((n, str(v)) for n, _, v in e.args[1]))
|
||||||
diff = ''.join(Differ().compare(old, new))
|
diff = ''.join(Differ().compare(old, new))
|
||||||
_logger.warning(
|
_logger.warning(
|
||||||
"data mismatch on %s:\n%s",
|
"data mismatch on %s:\n%s",
|
||||||
|
Loading…
Reference in New Issue
Block a user