[PATCH STABLE] extdiff: allow modifications in subrepos to be copied back
Matt Harbison
matt_harbison at yahoo.com
Mon Jul 27 22:01:11 UTC 2015
# HG changeset patch
# User Matt Harbison <matt_harbison at yahoo.com>
# Date 1438033149 14400
# Mon Jul 27 17:39:09 2015 -0400
# Branch stable
# Node ID ff6acf895dc1971a6e2aaeea0c1e0d7d8f9c1ee2
# 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 @@
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:
More information about the Mercurial-devel
mailing list