Mercurial > hg
changeset 45130:33524b6bef53
extdiff: add some comments in diffrevs()
It was not obvious to understand the code so I added some comments.
Differential Revision: https://phab.mercurial-scm.org/D8690
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Tue, 07 Jul 2020 14:01:12 +0530 |
parents | 30c31de4d1db |
children | 61e7464477ac |
files | hgext/extdiff.py |
diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/extdiff.py Tue Jul 07 13:26:57 2020 +0530 +++ b/hgext/extdiff.py Tue Jul 07 14:01:12 2020 +0530 @@ -398,6 +398,8 @@ ): subrepos = opts.get(b'subrepos') + + # calculate list of files changed between both revs st = repo.status(node1a, node2, matcher, listsubrepos=subrepos) mod_a, add_a, rem_a = set(st.modified), set(st.added), set(st.removed) if do3way: @@ -413,11 +415,18 @@ common = modadd | rem_a | rem_b if not common: return 0 + # Always make a copy of node1a (and node1b, if applicable) + # dir1a should contain files which are: + # * modified or removed from node1a to node2 + # * modified or added from node1b to node2 + # (except file added from node1a to node2 as they were not present in + # node1a) dir1a_files = mod_a | rem_a | ((mod_b | add_b) - add_a) dir1a = snapshot(ui, repo, dir1a_files, node1a, tmproot, subrepos)[0] rev1a = b'@%d' % repo[node1a].rev() if do3way: + # file calculation criteria same as dir1a dir1b_files = mod_b | rem_b | ((mod_a | add_a) - add_b) dir1b = snapshot(ui, repo, dir1b_files, node1b, tmproot, subrepos)[0] rev1b = b'@%d' % repo[node1b].rev()