Augie Fackler <augie@google.com> [Mon, 07 Jan 2019 17:19:19 -0500] rev 41159
tests: add simplestorerepo to test-check-interfaces.py
I'm not thrilled with this, but it'll help avoid future bitrot.
Differential Revision: https://phab.mercurial-scm.org/D5521
Augie Fackler <augie@google.com> [Mon, 07 Jan 2019 16:50:23 -0500] rev 41158
simplestorerepo: migrate to in-hg CBOR code
This is the only use of thirdparty.cbor outside of a test-* file, so it felt
worthwhile to clean it up.
Differential Revision: https://phab.mercurial-scm.org/D5520
Augie Fackler <augie@google.com> [Mon, 07 Jan 2019 18:22:20 -0500] rev 41157
simplestorerepo: minimal changes required to get this mostly working again
I was going to change this code's use of CBOR to use our in-house CBOR code,
but discovered it's been broken for a while. This messy change gets it back to
a point where it mostly works, I think roughly as well as it ever did.
Should we keep this and fix it up the rest of the way, or dump it in favor of
the sqlite store? Would this be a good jumping-off point for some sort of
union store that could facilitate a cleanup in remotefilelog?
Differential Revision: https://phab.mercurial-scm.org/D5519
Martin von Zweigbergk <martinvonz@google.com> [Tue, 04 Dec 2018 11:22:31 -0800] rev 41156
perfrevlogwrite: use progress helper on modern hg
Differential Revision: https://phab.mercurial-scm.org/D5372
Daniel Ploch <dploch@google.com> [Tue, 08 Jan 2019 14:19:51 -0800] rev 41155
merge: make local file storage in the .hg/merge directory extensible
This is similar to remotefilelog's 'getlocalkey' method, which must be overridden by systems which rely on full path names for access control purposes.
Differential Revision: https://phab.mercurial-scm.org/D5534
Kyle Lippincott <spectral@google.com> [Tue, 08 Jan 2019 14:31:22 -0800] rev 41154
context: schedule file prefetch before comparing for cleanliness
When using a system like remotefilelog, we can occasionally run into scenarios
where the local content cache does not have the data we need to perform these
comparisons. These will be fetched on-demand, but individually; if the
remotefilelog server isn't extremely low latency, the runtime of the command
becomes dominated by the multiple getfile requests for individual files.
By performing the prefetch, we can download these files in bulk, and save server
resources and many network roundtrips.
Differential Revision: https://phab.mercurial-scm.org/D5532
Pulkit Goyal <pulkit@yandex-team.ru> [Wed, 12 Dec 2018 16:26:58 +0300] rev 41153
manifest: convert a recursive function to iterative one using stacks
I am debugging a memory issue from yesterday where `hg update` goes upto taking
22GB of memory on our internal treemanifest repository. This is an interesting
function and I saw memory consumption increasing while this function was
running.
It's sometimes hard to understand a recursive function and also the profile
won't show you actual operations which took time, rather it will show you the
function again and again in profile.
I am yet to notice any memory consumption decrease with this patch, but I
believe this will help like in making this a generator.
Differential Revision: https://phab.mercurial-scm.org/D5413
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 23 Dec 2018 02:01:35 +0530] rev 41152
obsutil: fix the
issue5686
While traversing the obsolescence graph to find the successors sets
of csets:
In its 4th case (read comments of obsutil.successorssets to see
all 4 cases) where we know successors sets of all direct successors
of CURRENT, we were just missing a condition to filter out the case
when a cset is pruned.
And without this condition (that this patch added) it was making a whole
successor set to [] just because of one pruned marker.
For e.g:if following is the successors set of a cset A:
A -> [a, b, c]
if we prune c, we expect A's successors set to be [a, b] but
you would get:
A -> []
So this patch make sure that we calculate the right successorsset of csets
considering the pruned cset (in split case).
Differential Revision: https://phab.mercurial-scm.org/D5474
Navaneeth Suresh <navaneeths1998@gmail.com> [Sun, 06 Jan 2019 09:34:41 +0530] rev 41151
histedit: add user input to warning message on editing tagged commits
This is a follow-up patch to D5489.
Now, the user will be able to input yes/no(default) on the warning message. Initially, it was the sleep of 1s and histedit window opens. Changes were made as suggested by @mharbison72 and @yuja.
Differential Revision: https://phab.mercurial-scm.org/D5494
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