Skip to content
Snippets Groups Projects
  1. Feb 21, 2025
  2. Feb 20, 2025
    • Pierre-Yves David's avatar
      cleanup: drop the LIBDIR related code · 33e06272ff1a
      Pierre-Yves David authored
      This code is no longer used as the python packaging echo system evolved.
      
      This code was introduced in 10da5a1f25dd, with two feature in mind:
      
      - Mercurial may be installed into a non-standard location without
        having to set PYTHONPATH.
      - Multiple installations can use Mercurial from different locations.
      
      As a side effect it also provided performance improvement at a time where the
      `sys.path` could be greatly inflated from setuptools `.pth` files. And it also
      protected from incompatible directory within the `$PTYHONPATH` variable. Both of
      these benefit has faded overtime as `.pth` are less common and `$PYTHONPATH` is
      less used (as both where creating issue to more than just Mercurial).
      
      The initial motivation (easily install Mercurial anywhere), can now be handled
      by a new generation of tool like pipx or uv, so it is less of a concern.
      
      Regardless of all the above, the current code is no longer used. The evolution
      of python packaging means that installation always go through first building a
      location agnostic "wheel" that cannot update LIBDIR to a proper location.
      Upstream packaging (debian, redhat, etc…) does not seems to adjust this variable
      themself. So it is safer to drop this dead code that pretend we could be doing
      something with it.
      33e06272ff1a
    • Pierre-Yves David's avatar
      cleanup: remove the `contrib/hgperf` script · b624da86830e
      Pierre-Yves David authored
      This script seems a copy `./hg` with a few adjustment. However it does not seems
      to have been used in age given that is still use old API and package name that
      has not been around for a long while.
      
      So let's just delete it.
      b624da86830e
    • Matt Harbison's avatar
      test-fix-path: avoid a test hang on Windows · 3fb2fbad4b13
      Matt Harbison authored
      Windows can't typically invoke `*.py` directly as a command, and will instead
      show a prompt asking what program should be used to open the file.  We can't
      directly invoke the interpreter as is usually done in this case, because the
      whole point is to run something not in `PATH`.  The easiest thing to do is
      invoke a *.bat file that runs the interpreter.  We can get away with this
      because the current implementation is to effectively run `cmd.exe /c %command%`,
      which doesn't need the file extension specified.
      3fb2fbad4b13
  3. Feb 19, 2025
    • Pierre-Yves David's avatar
      stream-clone: adjust default value for worker and memory · e75ed9ae5fb9
      Pierre-Yves David authored
      Increasing the memory usage does not seems to yield much speed up, so we can
      restrict it more aggressively. However, unlimited memory usage can overwhelm a
      system and result in massive slowdown if the process start swapping. So it is
      still possible to configure it, but it is not longer used in any default
      profile.
      
      Having too many workers can slow things a bit, but not too much. So we can try
      to use higher default to yield benefit on large system.
      e75ed9ae5fb9
  4. Jan 29, 2025
  5. Feb 19, 2025
  6. Dec 18, 2024
  7. Feb 19, 2025
  8. Feb 03, 2023
    • Pierre-Yves David's avatar
      diff: add a --ignore-changes-from-ancestors option · 688665425496
      Pierre-Yves David authored
      This is a generalisation of the new feature from evolve but for any diff, it
      allow to compares changes to patches regardless of the changes introduced by
      ancestors, this is typically useful after rebase and graft.
      
      I am not very happy about the name, but it is still experimental, so that can
      be improved later.
      
      Having the ability to compare ranges of commit would probably be handy too, but
      this changeset focus in getting the basic case in. We have to think about the
      UI a bit ahead however.
      688665425496
  9. Feb 18, 2025
  10. Feb 17, 2025
  11. Feb 18, 2025
  12. Feb 19, 2025
  13. Feb 18, 2025
  14. Feb 07, 2025
    • Mitchell Kember's avatar
      rhg-annotate: support whitespace options · 874c64e041b5
      Mitchell Kember authored
      This adds support to rhg annotate for all the whitespace options:
      
          -w, --ignore-all-space
          -b, --ignore-space-change
          -B, --ignore-blank-lines
          -Z, --ignore-space-at-eol
      
      Note that --ignore-blank-lines has no effect on annotate so it is ignored. You
      can see this in dagop.py _annotepair which only checks if blocks are '=' or not,
      whereas the effect of --ignore-blank-lines is to change some '!' into '~'.
      
      When the other 3 are combined, we use the strongest option since -w implies -b
      and -b implies -Z. This is not explicit in the Python implementation, but I have
      verified that's how it behaves.
      874c64e041b5
  15. Feb 12, 2025
  16. Feb 06, 2025
  17. Feb 05, 2025
    • Arseniy Alekseyev's avatar
      sshpeer: fix deadlock on short writes · 7aec18bded6d
      Arseniy Alekseyev authored
      This commit makes the `sshpeer.doublepipe` object retry on short write,
      which fixes a deadlock in hg client-server communication, in
      particular when client needs to send a large message.
      
      Apparently Mercurial relies on `write` method on file objects
      to never return short writes, without checking, which leads to deadlocks.
      
      This work fine when the underlying file object is buffered,
      since buffered writers never return short writes.
      (why buffering has anything to do with this I don't know, but ok)
      
      It breaks horribly with raw IO, which happens to be used in sshpeer.
      7aec18bded6d
  18. Feb 18, 2025
Loading