~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/patiencediff.py

Small cleanups to patience_diff code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
115
115
    :param ahi: The maximum length of a to check, typically len(a)
116
116
    :param bhi: The maximum length of b to check, typically len(b)
117
117
    :param answer: The return array. Will be filled with tuples
118
 
                   indicating [(line_in_a), (line_in_b)]
 
118
                   indicating [(line_in_a, line_in_b)]
119
119
    :param maxrecursion: The maximum depth to recurse.
120
120
                         Must be a positive integer.
121
121
    :return: None, the return value is in the parameter answer, which
122
122
             should be a list
123
123
 
124
124
    """
125
 
    oldlen = len(answer)
126
125
    if maxrecursion < 0:
127
126
        mutter('max recursion depth reached')
128
127
        # this will never happen normally, this check is to prevent DOS attacks
231
230
            return self.matching_blocks
232
231
        self.matching_blocks = []
233
232
        la, lb = len(self.a), len(self.b)
234
 
        self.__helper(0, la, 0, lb, self.matching_blocks)
 
233
        self._find_matching_blocks(0, la, 0, lb, self.matching_blocks)
235
234
        self.matching_blocks.append( (la, lb, 0) )
236
235
        return self.matching_blocks
237
236
 
238
 
    def __helper(self, alo, ahi, blo, bhi, answer):
 
237
    def _find_matching_blocks(self, alo, ahi, blo, bhi, answer):
239
238
        matches = []
240
239
        a = self.a[alo:ahi]
241
240
        b = self.b[blo:bhi]