Add a function to return the new text from a binary diff
authormpm@selenic.com
Fri, 20 May 2005 17:42:29 -0800
changeset 120 bae6f0328f63
parent 119 c7a66f9752a4
child 121 66fb61d9d97d
Add a function to return the new text from a binary diff
mercurial/mdiff.py
--- a/mercurial/mdiff.py
+++ b/mercurial/mdiff.py
@@ -53,6 +53,16 @@ def diff(a, b, sorted=0):
 
     return "".join(bin)
 
+def patchtext(bin):
+    pos = 0
+    t = []
+    while pos < len(bin):
+        p1, p2, l = struct.unpack(">lll", bin[pos:pos + 12])
+        pos += 12
+        t.append(bin[pos:pos + l])
+        pos += l
+    return "".join(t)
+
 # This attempts to apply a series of patches in time proportional to
 # the total size of the patches, rather than patches * len(text). This
 # means rather than shuffling strings around, we shuffle around