Mercurial > hg
diff tests/test-copies.t @ 46408:e948ad0dcbe2
copies: add an devel option to trace all files
Filelog based copy tracing only trace copy for file that have been added. This
is a trade off between skipping some rare copy case in exchange for avoiding
atrocious-to-the-point-of-unusable performance.
The changeset centric copy tracing does not need this trade off and naturally
trace all copy, include the one involving non-new files.
In order to ease the comparison from both algorithm, we add a small devel option
to trace copy for all files in the target revisions.
Differential Revision: https://phab.mercurial-scm.org/D9796
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 16 Jan 2021 00:03:18 +0100 |
parents | 1d6d1a15a963 |
children | 86ee73018e62 |
line wrap: on
line diff
--- a/tests/test-copies.t Thu Jan 28 15:26:33 2021 +0100 +++ b/tests/test-copies.t Sat Jan 16 00:03:18 2021 +0100 @@ -95,6 +95,8 @@ x -> y $ hg debugpathcopies 0 1 x -> y (no-filelog !) + $ hg debugpathcopies 0 1 --config devel.copy-tracing.trace-all-files=yes + x -> y Copy a file onto another file with same content. If metadata is stored in changeset, this does not produce a new filelog entry. The changeset's "files" entry should still list the file. @@ -113,6 +115,8 @@ x -> x2 $ hg debugpathcopies 0 1 x -> x2 (no-filelog !) + $ hg debugpathcopies 0 1 --config devel.copy-tracing.trace-all-files=yes + x -> x2 Rename file in a loop: x->y->z->x $ newrepo