# HG changeset patch # User Yuya Nishihara # Date 1591101897 -32400 # Node ID 4bb0ea78a70f2601b8f3fd10d49ce64189bf2597 # Parent eb6380da47a545e854bd61fddc0c0dfe7a0596c8 simplemerge: rewrite flag merging loop as expression I feel binary operations are more readable. diff -r eb6380da47a5 -r 4bb0ea78a70f mercurial/simplemerge.py --- a/mercurial/simplemerge.py Tue Jun 02 21:40:49 2020 +0900 +++ b/mercurial/simplemerge.py Tue Jun 02 21:44:57 2020 +0900 @@ -517,11 +517,9 @@ otherflags = set(pycompat.iterbytestr(otherctx.flags())) if is_not_null(basectx) and localflags != otherflags: baseflags = set(pycompat.iterbytestr(basectx.flags())) - flags = localflags & otherflags - for f in localflags.symmetric_difference(otherflags): - if f not in baseflags: - flags.add(f) - flags = b''.join(sorted(flags)) + commonflags = localflags & otherflags + addedflags = (localflags ^ otherflags) - baseflags + flags = b''.join(sorted(commonflags | addedflags)) if not opts.get(b'print'): localctx.write(mergedtext, flags)