# HG changeset patch # User Marcin Kuzminski # Date 2012-05-30 21:12:24 # Node ID 9d61aad859bca53987ab35dc709beb8adf00cdc0 # Parent 745dda7817ed871769f971dc3d52a94a03433437 code garden diff --git a/rhodecode/lib/diffs.py b/rhodecode/lib/diffs.py --- a/rhodecode/lib/diffs.py +++ b/rhodecode/lib/diffs.py @@ -573,7 +573,8 @@ def differ(org_repo, org_ref, other_repo :type other_ref: """ - bundlerepo = ignore_whitespace = False + bundlerepo = None + ignore_whitespace = False context = 3 org_repo = org_repo.scm_instance._repo other_repo = other_repo.scm_instance._repo @@ -598,18 +599,20 @@ def differ(org_repo, org_ref, other_repo buf = io.BytesIO() while True: - chunk = unbundle._stream.read(1024*4) + chunk = unbundle._stream.read(1024 * 4) if not chunk: break buf.write(chunk) buf.seek(0) + # replace chunked _stream with data that can do tell() and seek() unbundle._stream = buf ui = make_ui('db') bundlerepo = InMemoryBundleRepo(ui, path=org_repo.root, bundlestream=unbundle) - return ''.join(patch.diff(bundlerepo or org_repo, node2=other_ref, opts=opts)) + return ''.join(patch.diff(bundlerepo or org_repo, node2=other_ref, + opts=opts)) else: return ''.join(patch.diff(org_repo, node1=org_ref, node2=other_ref, opts=opts))