# HG changeset patch # User Matt Mackall # Date 1324499768 21600 # Node ID 1facaad963a8a2d0580e0f6d4dffd137b8b954d3 # Parent 21eb048edc19a9b78ae262d222c0de1f3ad6c4d2# Parent 84e55467093c1cdf2d2026a465808849ec39249d merge with stable diff -r 21eb048edc19 -r 1facaad963a8 hgext/largefiles/lfutil.py --- a/hgext/largefiles/lfutil.py Mon Dec 19 11:37:44 2011 +0100 +++ b/hgext/largefiles/lfutil.py Wed Dec 21 14:36:08 2011 -0600 @@ -79,7 +79,7 @@ except OSError: # if hardlinks fail, fallback on atomic copy dst = util.atomictempfile(dest) - for chunk in util.filechunkiter(open(src)): + for chunk in util.filechunkiter(open(src, 'rb')): dst.write(chunk) dst.close() os.chmod(dest, os.stat(src).st_mode) @@ -238,7 +238,7 @@ link(usercachepath(repo.ui, hash), storepath(repo, hash)) else: dst = util.atomictempfile(storepath(repo, hash)) - for chunk in util.filechunkiter(open(file)): + for chunk in util.filechunkiter(open(file, 'rb')): dst.write(chunk) dst.close() util.copymode(file, storepath(repo, hash)) diff -r 21eb048edc19 -r 1facaad963a8 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Mon Dec 19 11:37:44 2011 +0100 +++ b/mercurial/cmdutil.py Wed Dec 21 14:36:08 2011 -0600 @@ -588,16 +588,17 @@ ctx1 = repo[node1] ctx2 = repo[node2] for subpath, sub in subrepo.itersubrepos(ctx1, ctx2): + tempnode2 = node2 try: if node2 is not None: - node2 = ctx2.substate[subpath][1] + tempnode2 = ctx2.substate[subpath][1] except KeyError: # A subrepo that existed in node1 was deleted between node1 and # node2 (inclusive). Thus, ctx2's substate won't contain that # subpath. The best we can do is to ignore it. - node2 = None + tempnode2 = None submatch = matchmod.narrowmatcher(subpath, match) - sub.diff(diffopts, node2, submatch, changes=changes, + sub.diff(diffopts, tempnode2, submatch, changes=changes, stat=stat, fp=fp, prefix=prefix) class changeset_printer(object):