diff --git a/mercurial/sparse.py b/mercurial/sparse.py --- a/mercurial/sparse.py +++ b/mercurial/sparse.py @@ -361,6 +361,11 @@ elif file in wctx: prunedactions[file] = ('r', args, msg) + if branchmerge and type == mergemod.ACTION_MERGE: + f1, f2, fa, move, anc = args + if not sparsematch(f1): + temporaryfiles.append(f1) + if len(temporaryfiles) > 0: repo.ui.status(_('temporarily included %d file(s) in the sparse ' 'checkout for merging\n') % len(temporaryfiles)) diff --git a/tests/test-sparse-merges.t b/tests/test-sparse-merges.t --- a/tests/test-sparse-merges.t +++ b/tests/test-sparse-merges.t @@ -172,10 +172,13 @@ d $ hg merge - abort: $ENOENT$: $TESTTMP/mvtest/a - [255] + temporarily included 1 file(s) in the sparse checkout for merging + merging a and amove to amove + 0 files updated, 1 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) $ hg up -C 4 + cleaned up 1 temporarily added file(s) from the sparse checkout 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg merge diff --git a/tests/test-sparse-profiles.t b/tests/test-sparse-profiles.t --- a/tests/test-sparse-profiles.t +++ b/tests/test-sparse-profiles.t @@ -119,7 +119,7 @@ Verify conflicting merge pulls in the conflicting changes $ hg merge 1 - temporarily included 1 file(s) in the sparse checkout for merging + temporarily included 2 file(s) in the sparse checkout for merging merging backend.sparse merging data.py warning: conflicts while merging backend.sparse! (edit, then use 'hg resolve --mark') @@ -184,7 +184,7 @@ $ hg rebase -d 2 rebasing 1:a2b1de640a62 "edit profile" - temporarily included 1 file(s) in the sparse checkout for merging + temporarily included 2 file(s) in the sparse checkout for merging merging backend.sparse merging data.py warning: conflicts while merging backend.sparse! (edit, then use 'hg resolve --mark') diff --git a/tests/test-sparse.t b/tests/test-sparse.t --- a/tests/test-sparse.t +++ b/tests/test-sparse.t @@ -189,7 +189,7 @@ $ hg rebase -d 1 -r 2 --config extensions.rebase= rebasing 2:b91df4f39e75 "edit hide" (tip) - temporarily included 1 file(s) in the sparse checkout for merging + temporarily included 2 file(s) in the sparse checkout for merging merging hide warning: conflicts while merging hide! (edit, then use 'hg resolve --mark') unresolved conflicts (see hg resolve, then hg rebase --continue) @@ -224,7 +224,7 @@ $ hg up -q 1 $ hg merge -r 2 - temporarily included 1 file(s) in the sparse checkout for merging + temporarily included 2 file(s) in the sparse checkout for merging merging hide warning: conflicts while merging hide! (edit, then use 'hg resolve --mark') 0 files updated, 0 files merged, 0 files removed, 1 files unresolved