Skip to content
Snippets Groups Projects
  1. May 31, 2022
  2. May 18, 2022
  3. Feb 20, 2022
  4. Jan 27, 2022
    • Pierre-Yves David's avatar
      stream-clone: allow to change persistent-nodemap format during stream clone · de3ac3d2c60b
      Pierre-Yves David authored
      Persistent nodemap affect the store format. However it is fairly isolated and
      fast to generate locally. So not making it a fixed part of the stream clone is
      useful.
      
      This allow clients without persistent-nodemap support (default for client
      without Rust enabled, or simply older client). So it make it possible to enable
      persistent nodemap on client, where it can provide a massive boost. without too
      much consequence.
      
      To do so, we stop using it in the advertisement requirements for streaming and
      let the client add/remove the necessary file depending of its configuration.
      
      We still send the files as it seems like a small save to not regenerate them.
      In addition, the way we match them will overlap with the changelog-v2/revlog-v2
      so we can't simply skip the associated patterns.
      
      Differential Revision: https://phab.mercurial-scm.org/D12096
      de3ac3d2c60b
  5. Jan 24, 2022
    • Pierre-Yves David's avatar
      requirements: add an official `REVLOG_COMPRESSION_ZSTD` const · 6fd9a17c32ab
      Pierre-Yves David authored
      Such constant was missing and its value was missing from the set of requirements
      that needs to be preserved through stream clone. This did not had any
      consequence yet as the "bundle 2 does not filter its requirements" is shadowing
      the issue.
      
      However we are now in a situation where we can fix this issue. So lets do it
      next.
      
      With the preparation work on test, changing the streamreqs value only impact two
      tests, where checking the full value seems to remains relevant.
      
      Important note: Since older version of Mercurial used the old `supportedformat`
      class attribute to check for stream requirement they supported, older version
      will consider this requirements to prevent them from using streaming clone. Even
      as they support this requirements for years. Pack for stable will be send to fix
      it, but they will have to be backported to older version if needed.
      
      Differential Revision: https://phab.mercurial-scm.org/D12083
      6fd9a17c32ab
    • Pierre-Yves David's avatar
      test-bundle: split some variant in there own section · ff0233f36f6a
      Pierre-Yves David authored
      Same rational as the previous commit about test-bundle.t. These line are quite
      volatile and having dedicated block will make their update clearer and simpler.
      
      Differential Revision: https://phab.mercurial-scm.org/D12076
      ff0233f36f6a
  6. Aug 27, 2021
  7. Aug 03, 2021
    • sliquister's avatar
      tests: rely on dummyssh being the default · 9c4204b7f3e4
      sliquister authored
      This commit is exactly the result of running this command:
      
      sed -i -e 's! *\(-e \|--ssh \|--config ui.ssh=\)[ \"]*$PYTHON[ \"]*$\(RUN\|\)TESTDIR/dummyssh[\"]* *! !g' -e '/^[ >]*ssh *=[ "]*$PYTHON[ "]*$\(RUN\|\)TESTDIR\/dummyssh[ "]*$/d' -e 's/^\(  [$] .*[^ ]\) *$/\1/' *.t *.sh
      
      Sometimes the tests can be simplified further, but I think it's
      preferable to do the simplification separately.
      
      Differential Revision: https://phab.mercurial-scm.org/D11245
      9c4204b7f3e4
  8. Jan 14, 2021
  9. Apr 06, 2021
  10. Mar 23, 2021
  11. Mar 12, 2021
  12. Mar 04, 2021
  13. Jul 06, 2020
  14. Mar 25, 2020
  15. Feb 26, 2020
    • sliquister's avatar
      exchange: turn on option that makes concurrent pushes work better · edc8504bc26b
      sliquister authored
      The motivation is simply to make hg work better out of the box.
      
      This is a slight backwards compatibility break, because client
      extensions could have assumed that the list of heads the client sees
      during discovery will be the list of heads during the entirety of the
      push. It seems unlikely to matter, and not worth mentioning.
      
      There's a fair amount of diff in tests, but this is just due to
      sending a few more bytes on the wire, except for test-acl.t.
      The extra "invalid branch cache" lines in test-acl.t don't seem to
      indicate a problem: the branchcache now get computed during the bundle
      application (because of the check:updated-heads bundle part), but
      doesn't get rolled back when transactions rollback, thus causing a
      message in the next operation computing the branch cache. Before this
      change, I assume the branchcache was only computed on transaction
      commit, so not computed at all when the transactions roll back, thus
      no messages.
      
      Differential Revision: https://phab.mercurial-scm.org/D8202
      edc8504bc26b
  16. Aug 05, 2019
    • Kyle Lippincott's avatar
      branchmap: explicitly warm+write all subsets of the branchmap caches · cdf0e9523de1
      Kyle Lippincott authored
      'full' claims it will warm all of the caches that are known about, but this was
      not the case - it did not actually warm the branchmap caches for subsets that we
      haven't requested, or for subsets that are still considered "valid". By
      explicitly writing them to disk, we can force the subsets for ex: "served" to be
      written ("immutable" and "base"), making it cheaper to calculate "served" the
      next time it needs to be updated.
      
      Differential Revision: https://phab.mercurial-scm.org/D6710
      cdf0e9523de1
  17. Mar 11, 2019
  18. Mar 14, 2019
    • Pierre-Yves David's avatar
      manifestcache: use `wcache` directory for manifest cache · e4ac7e63c213
      Pierre-Yves David authored
      The manifest full text cache is tightly related to the working copy. We should
      use the `wcache` directory for it, instead of the `cache`. Otherwise, multiple
      shares would keep overwriting each other cache entry and we loose its benefit.
      
      This is also more consistent with the fact this cache file is protected by
      `wlock`.
      e4ac7e63c213
  19. Mar 11, 2019
  20. Nov 12, 2018
  21. Oct 18, 2018
  22. Oct 13, 2018
  23. Aug 09, 2018
  24. Sep 29, 2018
  25. Sep 17, 2018
    • Anton Shestakov's avatar
      bundle2: make server.bundle2.stream default to True · 4bd6e444c76f
      Anton Shestakov authored
      Support for bundle2 streaming clones has been shipped in Mercurial 4.5
      (7eedbd5d4880), but was never activated by default. It's time to have more
      people use it. The new format allows streaming clones to transport cache
      (hooray for speed) and phaseroots (fixes phase-related issues).
      
      Changes in tests:
      
      bundle2 capabilities now have "stream=v2" (plus a '\n' as a separator) and
      therefore take 14 bytes more: "%0Astream%3Dv2". Tip for tests that have data
      encoded with CBOR: 0xd3 - 0xc5 = 14.
      
      $USUAL_BUNDLE2_CAPS$ replaces $USUAL_BUNDLE2_CAPS_SERVER$, which is the same
      thing, but without "stream=v2".
      
      Since streaming clones now also transfer caches, the reported byte and file
      counts are higher (e.g. 816 bytes in 9 files instead of 613 bytes in 4 files,
      a bit of --debug and manual math confirms that the caches take these extra 203
      bytes in 5 files).
      
      Differential Revision: https://phab.mercurial-scm.org/D4680
      4bd6e444c76f
Loading