diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -279,15 +279,11 @@ class dirstate(object): blen = len(b) for x in unknown: - bs = bisect.bisect(b, x) - if bs != 0 and b[bs-1] == x: - ret[x] = self.map[x] - continue + bs = bisect.bisect(b, "%s%s" % (x, '/')) while bs < blen: s = b[bs] if len(s) > len(x) and s.startswith(x): - if s[len(x)] == '/': - ret[s] = self.map[s] + ret[s] = self.map[s] else: break bs += 1