Pulkit Goyal <pulkit@yandex-team.ru> [Mon, 24 Dec 2018 16:04:52 +0300] rev 41150
sparse: fix debugrebuilddirsate when narrow extension is enabled
dirstate wrapping in narrow extension converts the manifest object to a list. So
let's assume we get a list of files in sparse extension.
Differential Revision: https://phab.mercurial-scm.org/D5481
Pulkit Goyal <pulkit@yandex-team.ru> [Mon, 24 Dec 2018 15:57:54 +0300] rev 41149
tests: show that debugrebuilddirstate is broken with narrow+sparse
This adds a test to show that debugrebuildirstate is broken when both narrow and
sparse extensions are enabled.
Differential Revision: https://phab.mercurial-scm.org/D5480
Pulkit Goyal <pulkit@yandex-team.ru> [Mon, 24 Dec 2018 15:30:39 +0300] rev 41148
sparse: don't enable on clone if it was a narrow clone
When both sparse and narrow extensions are enabled and we do a narrow clone,
sparse enables itself because it reads --include flag and thinks that user is
trying to do a sparse clone.
This patch changes that behavior, and now if both extensions are enabled and
user passes `--narrow`, then the includes and excludes won't be considered as
part of sparse profile.
Differential Revision: https://phab.mercurial-scm.org/D5479
Pulkit Goyal <pulkit@yandex-team.ru> [Mon, 24 Dec 2018 15:01:47 +0300] rev 41147
tests: add tests for narrow clone when both sparse and narrow are enabled
This patch adds tests for doing a narrow clone when client has both sparse and
narrow enabled. As shown by this patch, we can see that the narrow clone has
sparse enabled which we does not want here. Upcoming patch will fix this.
Also while writing tests, I realized we don't have a flag to list the current
sparse profile.
Differential Revision: https://phab.mercurial-scm.org/D5478
Martin von Zweigbergk <martinvonz@google.com> [Tue, 08 Jan 2019 00:30:30 -0800] rev 41146
progress: check what type of progress bar to use only once per topic
This seems to have sped up `hg perfprogress` from 1.78 s to 1.41 s.
Differential Revision: https://phab.mercurial-scm.org/D5530
Martin von Zweigbergk <martinvonz@google.com> [Tue, 08 Jan 2019 00:17:41 -0800] rev 41145
progress: split up _print() method in bar-updating and debug-printing
I just thought this was clearer, but it turned out to also simplify
the next patch.
This seems to have sped up `hg perfprogress` from 1.85 s to 1.78 s.
Differential Revision: https://phab.mercurial-scm.org/D5529
Martin von Zweigbergk <martinvonz@google.com> [Tue, 08 Jan 2019 00:12:08 -0800] rev 41144
progress: move cached debug flag from progress.progbar to scmutil.progress
It's simpler this way. One possible drawback (and a possisble
advantage) is that we now check the debug flag once per topic, so
processes that generate new topics all the time will still check the
flag frequently.
Differential Revision: https://phab.mercurial-scm.org/D5528
Martin von Zweigbergk <martinvonz@google.com> [Mon, 07 Jan 2019 23:55:26 -0800] rev 41143
progress: write ui.progress() in terms of ui.makeprogress()
I think ui.makeprogress() should be the preferred interface and we
should deprecate ui.progress(). All in-core callers already use
ui.makeprogress(). Moving the logic to the scmutil.progress() will let
us make further improvements.
This seems to have sped up `hg perfprogress` from 1.92 s to 1.85 s,
perhaps because we now skip the indirection of updating the progress
bar via ui.progress().
Differential Revision: https://phab.mercurial-scm.org/D5527
Martin von Zweigbergk <martinvonz@google.com> [Tue, 08 Jan 2019 22:07:47 -0800] rev 41142
testrunner: avoid capturing a regex group we don't care about
Differential Revision: https://phab.mercurial-scm.org/D5536
Kyle Lippincott <spectral@google.com> [Tue, 08 Jan 2019 14:48:05 -0800] rev 41141
remotefilelog: add newlines to ui.log() invocations
The comment at the top of ui.log() says that the message should be a
newline-terminated string. When using the blackbox logger, if the string does
not end in a newline, the appearance in the file gets quite messy.
This sometimes leaves a string with just the newline as the message, these are
logged by the blackbox logger just fine. I don't know what other loggers do when
logging structured data and a message that is just the newline.
Differential Revision: https://phab.mercurial-scm.org/D5533