Mercurial > hg > soundsoftware-site
diff lib/diff.rb @ 1115:433d4f72a19b redmine-2.2
Update to Redmine SVN revision 11137 on 2.2-stable branch
author | Chris Cannam |
---|---|
date | Mon, 07 Jan 2013 12:01:42 +0000 |
parents | cbb26bc654de |
children |
line wrap: on
line diff
--- a/lib/diff.rb Wed Jun 27 14:54:18 2012 +0100 +++ b/lib/diff.rb Mon Jan 07 12:01:42 2013 +0000 @@ -33,20 +33,20 @@ next unless bmatches.has_key? aelem k = nil bmatches[aelem].reverse.each { |bindex| - if k && (thresh[k] > bindex) && (thresh[k-1] < bindex) - thresh[k] = bindex - else - k = thresh.replacenextlarger(bindex, k) - end - links[k] = [ (k==0) ? nil : links[k-1], aindex, bindex ] if k + if k && (thresh[k] > bindex) && (thresh[k-1] < bindex) + thresh[k] = bindex + else + k = thresh.replacenextlarger(bindex, k) + end + links[k] = [ (k==0) ? nil : links[k-1], aindex, bindex ] if k } } if !thresh.empty? link = links[thresh.length-1] while link - mvector[link[1]] = link[2] - link = link[0] + mvector[link[1]] = link[2] + link = link[0] end end @@ -59,14 +59,14 @@ while ai < mvector.length bline = mvector[ai] if bline - while bi < bline - discardb(bi, b[bi]) - bi += 1 - end - match(ai, bi) - bi += 1 + while bi < bline + discardb(bi, b[bi]) + bi += 1 + end + match(ai, bi) + bi += 1 else - discarda(ai, a[ai]) + discarda(ai, a[ai]) end ai += 1 end @@ -88,17 +88,17 @@ i = 0 curdiff = [] while i < df.length - whot = df[i][0] - s = @isstring ? df[i][2].chr : [df[i][2]] - p = df[i][1] - last = df[i][1] - i += 1 - while df[i] && df[i][0] == whot && df[i][1] == last+1 - s << df[i][2] - last = df[i][1] - i += 1 - end - curdiff.push [whot, p, s] + whot = df[i][0] + s = @isstring ? df[i][2].chr : [df[i][2]] + p = df[i][1] + last = df[i][1] + i += 1 + while df[i] && df[i][0] == whot && df[i][1] == last+1 + s << df[i][2] + last = df[i][1] + i += 1 + end + curdiff.push [whot, p, s] end diffs.push curdiff } @@ -160,9 +160,9 @@ range.each { |i| elem = self[i] if revmap.has_key? elem - revmap[elem].push i + revmap[elem].push i else - revmap[elem] = [i] + revmap[elem] = [i] end } return revmap @@ -181,9 +181,9 @@ found = self[index] return nil if value == found if value > found - low = index + 1 + low = index + 1 else - high = index + high = index end end @@ -206,25 +206,25 @@ bi = 0 diff.diffs.each { |d| d.each { |mod| - case mod[0] - when '-' - while ai < mod[1] - newary << self[ai] - ai += 1 - bi += 1 - end - ai += 1 - when '+' - while bi < mod[1] - newary << self[ai] - ai += 1 - bi += 1 - end - newary << mod[2] - bi += 1 - else - raise "Unknown diff action" - end + case mod[0] + when '-' + while ai < mod[1] + newary << self[ai] + ai += 1 + bi += 1 + end + ai += 1 + when '+' + while bi < mod[1] + newary << self[ai] + ai += 1 + bi += 1 + end + newary << mod[2] + bi += 1 + else + raise "Unknown diff action" + end } } while ai < self.length