findcopies: fix rename bug
We've fiddled with this line several times, and an old bug has
reappeared from it. Let's take a peek at the history.
The original "or" (rev 3674, in 0.9.2 and 0.9.3):
http://www.selenic.com/hg/rev/9103dab96093
Then I changed it to an "and" to fix a bug (rev 4304):
http://www.selenic.com/hg/rev/4787e2b0dd03
Then for reasons now lost in the mists of time, I dropped half (rev 4399):
http://www.selenic.com/hg/rev/93652499bed3
Then we added back the "or" (rev 4416, in 0.9.4):
http://www.selenic.com/hg/rev/bb1800a7d7e1
So it seems it ought to be "and".
# strutil.py - string utilities for Mercurial
#
# Copyright 2006 Vadim Gelfer <vadim.gelfer@gmail.com>
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
def findall(haystack, needle, start=0, end=None):
if end is None:
end = len(haystack)
if end < 0:
end += len(haystack)
if start < 0:
start += len(haystack)
while start < end:
c = haystack.find(needle, start, end)
if c == -1:
break
yield c
start = c + 1
def rfindall(haystack, needle, start=0, end=None):
if end is None:
end = len(haystack)
if end < 0:
end += len(haystack)
if start < 0:
start += len(haystack)
while end >= 0:
c = haystack.rfind(needle, start, end)
if c == -1:
break
yield c
end = c - 1