joerg.sonnenberger added a comment.
> I wish we could find a way to send multiple, inline, pre-generated bundles
in one response. However, the existing design of compression within the bundle2
format doesn't easily facilitate this. We should think long and hard about
whether to implement
joerg.sonnenberger updated this revision to Diff 4824.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D1857?vs=4813=4824
REVISION DETAIL
https://phab.mercurial-scm.org/D1857
AFFECTED FILES
mercurial/exchange.py
mercurial/wireproto.py
joerg.sonnenberger added a comment.
For my test case, which is a bundle of all changes in the NetBSD repo before
2014 and a yearly bundle afterwards until 2018/1/1 and normal pull for the
rest, find_pullbundle needs less than 0.5s of CPU time in this iteration when
it matches.
After the
joerg.sonnenberger updated this revision to Diff 4816.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D1856?vs=4811=4816
REVISION DETAIL
https://phab.mercurial-scm.org/D1856
AFFECTED FILES
mercurial/configitems.py
mercurial/help/config.txt
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG5bda7bd29688: explicitly kill server processes (authored by
joerg.sonnenberger, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D1855?vs=4809=4814
joerg.sonnenberger updated this revision to Diff 4813.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D1857?vs=4812=4813
REVISION DETAIL
https://phab.mercurial-scm.org/D1857
AFFECTED FILES
mercurial/exchange.py
tests/test-pull-r.t
CHANGE DETAILS
joerg.sonnenberger added a comment.
This is a proof-of-concept. There is an interaction with obsoletion that I am
still trying to understand (and fix).
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1857
To: joerg.sonnenberger, #hg-reviewers
Cc:
joerg.sonnenberger created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1857
AFFECTED FILES
mercurial/exchange.py
tests/test-pull-r.t
CHANGE DETAILS
diff --git
joerg.sonnenberger updated this revision to Diff 4811.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D1856?vs=4810=4811
REVISION DETAIL
https://phab.mercurial-scm.org/D1856
AFFECTED FILES
mercurial/configitems.py
mercurial/help/config.txt
joerg.sonnenberger created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Pullbundles are similar to clonebundles, but served as normal inline
bundle streams. They are almost transparent to the client -- the only
visible
joerg.sonnenberger created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1855
AFFECTED FILES
tests/test-pull-r.t
CHANGE DETAILS
diff --git a/tests/test-pull-r.t
joerg.sonnenberger created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
When the client supports v2 responses, the fallback to the legacy
response is undesirable. If the zlib is acceptable for the client,
it should have
joerg.sonnenberger added a comment.
The bitset version has shown already that optimizing this is worthwhile and
can eliminate up to 10% of the total size of the transaction object.
The change as is primarily gets the interfaces in place, so that outside code
can be adjusted.
REPOSITORY
joerg.sonnenberger added a comment.
This version should be committable. It introduces the necessary API for
isolating further changes and gives a small improvement already. I'll be
looking at provider a memory and time efficient sparce vector next, that's
where the real benefits will be.
joerg.sonnenberger updated this revision to Diff 4341.
joerg.sonnenberger edited the summary of this revision.
joerg.sonnenberger retitled this revision from "[PoC] transaction: split
changes['phases'] into sets for src and target phase" to "transaction: encodes
tuples in changes['phases'] as 4
joerg.sonnenberger added a comment.
Like I said, this is primarily a proof of concept. I'm still playing with
different approaches and I don't think intbitset is a good fit for other
reasons, but it worked the best from the various pre-existing implementations.
REPOSITORY
rHG Mercurial
joerg.sonnenberger added a comment.
This is a Proof-of-Concept and with a follow-up in
https://phab.mercurial-scm.org/D1622 to use a C implementation for the bitset.
Original code: 485s / 584MB
Set version: 501s / 582MB
intbitset: 478s / 563MB
REPOSITORY
rHG Mercurial
REVISION
joerg.sonnenberger created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
changes['phases'] used to be a dictionary mapping revisions to
(old, new) tuples. The encoding is highly redundant and eats ~40MB
for the test case
joerg.sonnenberger created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1622
AFFECTED FILES
mercurial/localrepo.py
CHANGE DETAILS
diff --git
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGd13526333835: phases: drop the list with phase of each rev,
always comput phase sets (authored by joerg.sonnenberger, committed by ).
CHANGED PRIOR TO COMMIT
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG137a08d82232: transaction: build changes[revs]
as range instead of a set (authored by joerg.sonnenberger, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
joerg.sonnenberger created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Revisions are added consecutively, so a range can easily represent them
in the changes list. This saves around 45 Bytes / revision on 64bit
platforms
joerg.sonnenberger updated this revision to Diff 4228.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D1606?vs=4155=4228
REVISION DETAIL
https://phab.mercurial-scm.org/D1606
AFFECTED FILES
mercurial/cext/parsers.c
mercurial/cext/revlog.c
joerg.sonnenberger added inline comments.
INLINE COMMENTS
> quark wrote in phases.py:226-237
> Sorry - I made a mistake using `repo.revs('public()')` to test the logic
> here. Actually that exercises a different code path
>
joerg.sonnenberger created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Change the C implementation of phasecache.loadphaserevs to provide only
the sets for draft and secret phase as well as the number of revisions
seen.
401 - 425 of 425 matches
Mail list logo