Skip to content
Snippets Groups Projects
  1. Feb 22, 2025
  2. Feb 20, 2024
    • Pierre-Yves David's avatar
      phases: leverage the collected information to record phase update · eababb7b4a82
      Pierre-Yves David authored
      Since the lower level function already gather this information, we can directly
      use it.
      
      This comes with a small change to the test that are actually fixing them. The
      previous version over-reported some phase change that did not exists. In both
      case, we are force revision `1` to be secret and `0` remains draft`, the
      previous code wrongly reported `0` as moving to secret while it properly
      remained draft in the repository.
      eababb7b4a82
  3. Feb 28, 2023
    • Matt Harbison's avatar
      configitems: enable changegroup3 by default (unless using infinitepush) · 2cf264e9aa75
      Matt Harbison authored
      The LFS extension requires this, and if it isn't enabled on the client (or the
      LFS extension isn't loaded), a web client gets a 500 instead of a sensible error
      message.  Now it gets a different (client) error, but maybe it can be handled
      more gracefully.  c0f11347b107 indicates that treemanifest repos have this issue
      too.  29cfc474c5fd mentions gating this behind `experimental` so that the format
      could change, but that was 7 years ago and we now have an experimental
      `changegroup4` as well.
      
      We can keep this as a config for the next cycle in case someone runs into an
      unexpected problem, and then jettison it if the infinitepush bundle name changes
      are either acceptable as-is or can be created differently.
      2cf264e9aa75
  4. Jul 03, 2021
  5. Nov 24, 2020
  6. Dec 02, 2020
    • Pierre-Yves David's avatar
      run-tests: allow some slack about 'waiting on lock' message · f44b9c72f061
      Pierre-Yves David authored
      It is common to run the tests on very loaded machine when concurrent run might
      take a bit longer. Such message are usually harmless, but anoying as they break
      the tests.
      
      Test that explicitly depends on this value have been adjusted. This make them
      more robust anyway.
      
      A fun case was `test-clone-pull-corruption.t` which, without the previous
      changeset introducing extra flushing, ended use having a line 31 (`pulling from
      ../source`) changing order because the warning message was no longer flushing
      stdin before using stderr (stderr being invisible in the test).
      
      Differential Revision: https://phab.mercurial-scm.org/D9507
      f44b9c72f061
  7. Nov 23, 2020
  8. Oct 22, 2020
  9. Feb 29, 2020
  10. Nov 05, 2018
    • Anton Shestakov's avatar
      push: config option to control behavior when pushing to a publishing server · 33d30fb1e4ae
      Anton Shestakov authored
      Pushing to a publishing server by mistake can lead to a difficult situation to
      solve because evolution doesn't work on public changesets. This new
      experimental config tries to help avoiding unintentionally (or at least being
      aware of) pushing to publishing remotes.
      
      `hg push --publish` can be used to make push succeed even when auto-publish is
      set to 'abort'.
      33d30fb1e4ae
  11. Oct 27, 2018
  12. Aug 29, 2018
    • Boris Feld's avatar
      phase: report number of non-public changeset alongside the new range · 89630d0b3e23
      Boris Feld authored
      When interacting with non-publishing repository or bundle, it is useful to
      have some information about the phase of the changeset we just pulled.
      
      This changeset updates the "new changesets MIN:MAX" output to also includes
      phases information for non-public changesets. Displaying extra data about
      non-public changesets means the output for exchange with publishing repository
      (the default) is unaffected.
      89630d0b3e23
  13. Jul 14, 2018
    • Yuya Nishihara's avatar
      phases: remove excessive optimization from newheads() (issue5939) · 88efb7d6bcb6
      Yuya Nishihara authored
      This function is intended to compute 'heads(::heads - roots::)', but it
      failed because 'heads + parents(roots)' missed sibling branches of the roots.
      That's why the public heads slipped down from D to B in the example added by
      2a227782e754 "tests: add test demonstrating phase loss when cloning":
      
        > E    draft
        > |\Z  draft
        > | Y  draft
        > D |  public
        > | X  draft
        > C/   public
        > B    public
        > A    public
        where heads = {E, Z},
              roots = {X}
      88efb7d6bcb6
  14. Jul 11, 2018
  15. Jun 05, 2018
  16. Jun 04, 2018
  17. Jun 06, 2018
  18. May 24, 2018
    • Denis Laxalde's avatar
      transaction-summary: show phase changes statistics in pull/unbundle · eb9835014d20
      Denis Laxalde authored
      Upon pull or unbundle, we display a message with the number of
      changesets which phase became public. Noticeably, this new message would
      appear even if no new changeset were added (below the "no changes found"
      message), thus indicating that something actually happened to the local
      repository.
      eb9835014d20
  19. May 15, 2018
  20. May 01, 2018
  21. Apr 04, 2018
  22. Oct 12, 2017
    • Denis Laxalde's avatar
      transaction-summary: show the range of new revisions upon pull/unbundle (BC) · eb586ed5d8ce
      Denis Laxalde authored
      Upon pull or unbundle, we display a message with the range of new revisions
      fetched. This revision range could readily be used after a pull to look out
      what's new with 'hg log'. The algorithm takes care of filtering "obsolete"
      revisions that might be present in transaction's "changes" but should not be
      displayed to the end user.
      eb586ed5d8ce
  23. Jul 18, 2017
  24. Jul 16, 2017
  25. Jul 12, 2017
    • Boris Feld's avatar
      phases: test phases tracking at the transaction level · 67a3204c83c1
      Boris Feld authored
      Now that we have all tracking in place, the data in `tr.changes['phases']`
      dictionary should be correct and we should test it.
      
      It is a bit late in the cycle to discuss to add any public API (eg: hooks)
      that expose the data to the user, so we just add a small test extension
      displaying the data. It is enabled for the phases tests.
      
      New output have been manually checked for consistency.
      67a3204c83c1
  26. Oct 13, 2016
    • Pierre-Yves David's avatar
      changegroup: skip delta when the underlying revlog do not use them · 6b0741d6d234
      Pierre-Yves David authored
      Revlog can now be configured to store full snapshot only. This is used on the
      changelog. However, the changegroup packing was still recomputing deltas to be
      sent over the wire.
      
      We now just reuse the full snapshot directly in this case, skipping delta
      computation. This provides use with a large speed up(-30%):
      
      # perfchangegroupchangelog on mercurial
      ! wall 2.010326 comb 2.020000 user 2.000000 sys 0.020000 (best of 5)
      ! wall 1.382039 comb 1.380000 user 1.370000 sys 0.010000 (best of 8)
      
      # perfchangegroupchangelog on pypy
      ! wall 5.792589 comb 5.780000 user 5.780000 sys 0.000000 (best of 3)
      ! wall 3.911158 comb 3.920000 user 3.900000 sys 0.020000 (best of 3)
      
      # perfchangegroupchangelog on mozilla central
      ! wall 20.683727 comb 20.680000 user 20.630000 sys 0.050000 (best of 3)
      ! wall 14.190204 comb 14.190000 user 14.150000 sys 0.040000 (best of 3)
      
      Many tests have to be updated because of the change in bundle content. All
      theses update have been verified.  Because diffing changelog was not very
      valuable, the resulting bundle have similar size (often a bit smaller):
      
      # full bundle of mozilla central
      with delta:    1142740533B
      without delta: 1142173300B
      
      So this is a win all over the board.
      6b0741d6d234
  27. Aug 20, 2016
  28. Sep 20, 2016
  29. Aug 03, 2016
    • Pierre-Yves David's avatar
      tests: remove all remaining usage of experimental.bundle2-exp · 30c59bdd4f41
      Pierre-Yves David authored
      The only remaining usage of the experimental config were enforcing bundle2 on.
      These are very old remains of when bundle2 was off by default. This was also
      useful to highlight the fact that this was a bundle2 run and that a bundle1 one
      was nearby. However, we want a future developer working on bundle3 to notice
      possible output/behavior change on these tests and take them in account.  So we
      do not enforce bundle2 for these runs. We leave a comment around to make sure
      dev still notice the bundle1 version.
      30c59bdd4f41
    • Pierre-Yves David's avatar
      tests: use 'legacy.exchange' option in various mixed tests · ac9b85079122
      Pierre-Yves David authored
      The new option will stay around. The experimental option was only meant to be
      temporary. We update various tests that validate both bundle1 and bundle2
      version side by side. This changeset only takes care of enforcing bundle1. The
      other use of 'experimental.bundle2-exp=True' will be taken care of in the next
      changeset.
      ac9b85079122
  30. Aug 02, 2016
  31. Jan 13, 2016
  32. Dec 14, 2015
  33. Jun 08, 2015
  34. May 27, 2015
  35. Aug 15, 2014
    • Mads Kiilerich's avatar
      bundle: when verbose, show what takes up the space in the generated bundle · 4ab66de46a96
      Mads Kiilerich authored
      This is kind of similar to the debugbundle command but gives summarized actual
      uncompressed number of bytes when creating the bundle. The numbers are as
      usable as the bundle format is efficient. Hopefully bundle2 will make it a
      better indicator of actual entropy.
      
      This is useful when accepting pull requests to assess whether the repo size
      increase seems reasonable for the diff before pushing stuff upstream, It has
      helped me catching large files that should have been committed as largefiles
      but was committed as regular files in intermediate changesets.
      
      This output doesn't combine well with debug output so we only enable it when
      verbose without debug.
      4ab66de46a96
  36. Apr 17, 2014
  37. Aug 06, 2014
Loading