--- a/mercurial/util.py Mon Jul 22 09:55:05 2019 -0700
+++ b/mercurial/util.py Sun Jul 21 18:04:05 2019 -0700
@@ -3173,10 +3173,13 @@
def __init__(self, map, skip=None):
self._dirs = {}
addpath = self.addpath
- if safehasattr(map, 'iteritems') and skip is not None:
+ if isinstance(map, dict) and skip is not None:
for f, s in map.iteritems():
if s[0] != skip:
addpath(f)
+ elif skip is not None:
+ raise error.ProgrammingError("skip character is only supported "
+ "with a dict source")
else:
for f in map:
addpath(f)