# HG changeset patch # User Matt Harbison # Date 2015-07-27 21:39:09 # Node ID 415709a43e54efe6b158c4a38574173f9640847e # Parent 511e1949d55708e7eeacc8ab7874df534422e4c6 extdiff: allow modifications in subrepos to be copied back This check was a legacy bit from when the file data was being fetched manually with 'ctx[wfn]', but archive() does that now. 49966b5ab16f seems to indicate that this avoided a problem where a merge adds a file to another branch, and that test still passes. Unfortunately, I don't see a way to create a test that modifies the file in the temporary directory before the command exits. I wonder if the os.lstat() call needs to be wrapped in an exception handler for the case where archive didn't create a file because the file didn't exist in that revision. But I wasn't able to trigger a problem without it on a real repository. diff --git a/hgext/extdiff.py b/hgext/extdiff.py --- a/hgext/extdiff.py +++ b/hgext/extdiff.py @@ -101,12 +101,8 @@ def snapshot(ui, repo, files, node, tmpr matchfn=scmutil.matchfiles(repo, files), subrepos=listsubrepos) - ctx = repo[node] for fn in sorted(files): wfn = util.pconvert(fn) - if wfn not in ctx: - # File doesn't exist; could be a bogus modify - continue ui.note(' %s\n' % wfn) if node is None: