--- a/mercurial/sparse.py Fri Jul 24 23:40:07 2020 +0530
+++ b/mercurial/sparse.py Fri Jul 24 23:49:08 2020 +0530
@@ -407,6 +407,12 @@
elif file in wctx:
prunedactions[file] = (mergestatemod.ACTION_REMOVE, args, msg)
+ # in case or rename on one side, it is possible that f1 might not
+ # be present in sparse checkout we should include it
+ # TODO: should we do the same for f2?
+ # exists as a separate check because file can be in sparse and hence
+ # if we try to club this condition in above `elif type == ACTION_MERGE`
+ # it won't be triggered
if branchmerge and type == mergestatemod.ACTION_MERGE:
f1, f2, fa, move, anc = args
if not sparsematch(f1):