mdiff: add a __str__ method to diffopts
This makes it easier to debug by just formatting the object into `%s` to see the
members and state, instead of the class and memory address.
--- a/mercurial/mdiff.py Fri Jan 06 11:38:13 2023 -0500
+++ b/mercurial/mdiff.py Mon Jan 09 14:34:19 2023 -0500
@@ -94,6 +94,13 @@
opts.update(kwargs)
return diffopts(**opts)
+ def __bytes__(self):
+ return b", ".join(
+ b"%s: %r" % (k, getattr(self, k)) for k in self.defaults
+ )
+
+ __str__ = encoding.strmethod(__bytes__)
+
defaultopts = diffopts()