Read about our upcoming Code of Conduct on this issue

Commit 7747e5e1 authored by Pulkit Goyal's avatar Pulkit Goyal
Browse files

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
parent 30c31de4d1db
Pipeline #7973 failed with stage
in 24 minutes and 44 seconds
......@@ -398,6 +398,8 @@ def diffrevs(
):
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 @@ def diffrevs(
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()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment