extdiff: allow modifications in subrepos to be copied back stable
authorMatt Harbison <matt_harbison@yahoo.com>
Mon, 27 Jul 2015 17:39:09 -0400
branchstable
changeset 25876 415709a43e54
parent 25875 511e1949d557
child 25877 85785cd3b69f
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.
hgext/extdiff.py
--- a/hgext/extdiff.py	Mon Jul 27 22:14:40 2015 +0900
+++ b/hgext/extdiff.py	Mon Jul 27 17:39:09 2015 -0400
@@ -101,12 +101,8 @@
                          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: