[PATCH] manifest: add __nonzero__ method

Durham Goode durham at fb.com
Fri Nov 4 00:31:25 UTC 2016


# HG changeset patch
# User Durham Goode <durham at fb.com>
# Date 1478219474 25200
#      Thu Nov 03 17:31:14 2016 -0700
# Branch stable
# Node ID 7688f9dc22eef566e15ae0cc57e320d87984b351
# Parent  b9f7b0c10027764cee77f9c6d61877fcffea837f
manifest: add __nonzero__ method

This adds a __nonzero__ method to manifestdict. This isn't strictly necessary in
the vanilla Mercurial implementation, since Python will handle nonzero checks by
using __len__, but having it implemented here makes it easier for alternative
implementations to implement __nonzero__ and have them be plug-n-play with the
normal implementation.

diff --git a/mercurial/manifest.py b/mercurial/manifest.py
--- a/mercurial/manifest.py
+++ b/mercurial/manifest.py
@@ -422,6 +422,11 @@ class manifestdict(object):
     def __len__(self):
         return len(self._lm)
 
+    def __nonzero__(self):
+        # nonzero is covered by the __len__ function, but implementing it here
+        # makes it easier for extensions to override.
+        return len(self._lm) != 0
+
     def __setitem__(self, key, node):
         self._lm[key] = node, self.flags(key, '')
 


More information about the Mercurial-devel mailing list