Martin von Zweigbergk <martinvonz@google.com> [Wed, 20 Feb 2019 15:39:01 -0800] rev 41760
tests: add tests of pathcopies()
I'm working on support for storing copy metadata in the changeset
instead of in the filelog. When storing it in the changeset, it will
obviously be efficient to get the copy metadata for all files in a
single changeset, but it will be more expensive to get the copy
metadata all revisions of a single file. Some algorithms will then
need to be optimized differently. The first method I'm going to
rewrite is pathcopies().
This commit adds many tests for pathcopies(), so we can run the tests
with both old and new versions of the code, as well as with metadata
stored in filelog or in changeset (later). They use the
debugpathcopies command I recently added (with no tests when it was
added). They show a few bugs and few cases of slightly weird
behavior. I'll fix the bugs in the next few commits.
Differential Revision: https://phab.mercurial-scm.org/D5986
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Feb 2019 10:39:45 -0800] rev 41759
uncommit: add config option to keep commit by default
We have a Google-internal extension that keeps track of "review units"
(like Phabricator reviews, or Gerrit's Change-Id). This information is
stored outside of the commit. It is updated with rewrites. Every now
and then we get reports from users who are confused because `hg
uncommit` lost track of their review. Keeping the empty commit by
default would reduce this confusion. It may also cause confusion about
the empty commit. This patch adds a config option that lets us easily
test both behaviors on our users.
Differential Revision: https://phab.mercurial-scm.org/D5970
Martin von Zweigbergk <martinvonz@google.com> [Thu, 14 Feb 2019 15:17:54 -0800] rev 41758
debugpathcopies: sort output so it's deterministic
Differential Revision: https://phab.mercurial-scm.org/D5983
Martin von Zweigbergk <martinvonz@google.com> [Sun, 17 Feb 2019 09:12:30 -0800] rev 41757
subrepo: use root-repo-relative path from `hg files` with ui.relative-paths=no
The fix is to pass in a "subuipathfn" as we do everywhere else.
Differential Revision: https://phab.mercurial-scm.org/D5978
Martin von Zweigbergk <martinvonz@google.com> [Sun, 17 Feb 2019 09:05:28 -0800] rev 41756
subrepo: demonstrate broken `hg files` with ui.relative-paths=no
Differential Revision: https://phab.mercurial-scm.org/D5977
Pulkit Goyal <pulkit@yandex-team.ru> [Mon, 18 Feb 2019 03:39:47 +0530] rev 41755
py3: whitelist 5 new passing tests caught by buildbot
Thanks to indygreg and durin42 recent patches.
Differential Revision: https://phab.mercurial-scm.org/D5979
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Feb 2019 10:49:12 -0800] rev 41754
uncommit: inform user if the commit is empty after uncommit
Differential Revision: https://phab.mercurial-scm.org/D5969