Skip to content
Snippets Groups Projects
  1. Jan 21, 2020
    • Gregory Szorc's avatar
      hgdemandimport: disable on Python 3.5 · c5e0a9b97b8a
      Gregory Szorc authored
      The demand importer functionality isn't working at all on Python 3.5.
      I'm not sure what's wrong.
      
      Since it isn't working, let's disable it completely.
      
      ```
      $ HGRCPATH= hyperfine -w 1 -r 50 -- "~/.pyenv/versions/3.5.9/bin/python ./hg version" \
        "HGDEMANDIMPORT=disable ~/.pyenv/versions/3.5.9/bin/python ./hg version"
      Benchmark #1: ~/.pyenv/versions/3.5.9/bin/python ./hg version
        Time (mean ± σ):     163.7 ms ±   2.2 ms    [User: 148.5 ms, System: 15.7 ms]
        Range (min … max):   161.0 ms … 170.2 ms    50 runs
      
      Benchmark #2: HGDEMANDIMPORT=disable ~/.pyenv/versions/3.5.9/bin/python ./hg version
        Time (mean ± σ):     164.3 ms ±   1.4 ms    [User: 148.2 ms, System: 16.6 ms]
        Range (min … max):   161.4 ms … 169.8 ms    50 runs
      ```
      
      Differential Revision: https://phab.mercurial-scm.org/D7953
      c5e0a9b97b8a
  2. Jan 18, 2020
    • Gregory Szorc's avatar
      py3: suppress unraisable exceptions in test-worker.t · b5aaa09be18c
      Gregory Szorc authored
      Python 3.8 calls sys.unraisablehook when an unraisable
      exception is encountered. The default behavior is to print a
      warning.
      
      test-worker.t was triggering this hook due to a race between
      a newly forked process exiting and that process's
      _os.register_at_fork handlers running. I was seeing the
      stdlib's random module in the stack re-seeding itself. Although
      there could be other after-fork handlers in the mix.
      
      This commit defines sys.unraisablehook to effectively no-op.
      This suppresses the warning and makes test output on Python 3.8
      consistent with prior versions. test-worker.t now passes on
      Python 3.8.
      
      Differential Revision: https://phab.mercurial-scm.org/D7949
      b5aaa09be18c
  3. Jan 20, 2020
  4. Jan 18, 2020
  5. Nov 21, 2019
  6. Nov 17, 2019
    • Pierre-Yves David's avatar
      localrepo: recognize trivial request for '.' · bfaf4c673bec
      Pierre-Yves David authored
      Same logic as for `null`, this is a command request and skipping the revset
      logic can avoid triggering the changelog filtering logic.
      
      Differential Revision: https://phab.mercurial-scm.org/D7495
      bfaf4c673bec
    • Pierre-Yves David's avatar
      localrepo: fastpath access to "." · d86dede17392
      Pierre-Yves David authored
      "." is just an alias for `p1(wdir())`, let us handle it that way.
      
      Differential Revision: https://phab.mercurial-scm.org/D7494
      d86dede17392
    • Pierre-Yves David's avatar
      localrepo: also fastpath access to working copy parents when possible · 85c4cd73996b
      Pierre-Yves David authored
      If the filter level guarantee that the working copy parents will be visible, we
      allow fast path access to them. With this change multiple commands can now run
      without triggering filtering.
      
      After using the quick access mechanism introduced, the whole series results in
      pretty good performance gain:
      
      ```
      All benchmarks:
      
             before           after         ratio
           [8e09551206f5]       [36b2f659]
      -       711±0.8ms       60.7±0.2ms     0.09  simple_command.read.diff.empty.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 1) [citrea/virtualenv-py2.7-pyyaml-HGMODULEPOLICYc-HGWITHRUSTEXTcpython]
      -       712±0.8ms       61.6±0.2ms     0.09  simple_command.read.diff.empty.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 1) [citrea/virtualenv-py2.7-pyyaml-HGMODULEPOLICYrust+c-HGWITHRUSTEXTcpython]
      -         690±1ms       93.5±0.3ms     0.14  simple_command.read.diff.empty.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 1) [citrea/virtualenv-py3.7-pyyaml-HGMODULEPOLICYc-HGWITHRUSTEXTcpython]
      -         688±1ms       93.8±0.3ms     0.14  simple_command.read.diff.empty.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 1) [citrea/virtualenv-py3.7-pyyaml-HGMODULEPOLICYrust+c-HGWITHRUSTEXTcpython]
      -         714±1ms       60.7±0.8ms     0.09  simple_command.read.diff.empty.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 2) [citrea/virtualenv-py2.7-pyyaml-HGMODULEPOLICYc-HGWITHRUSTEXTcpython]
      -         713±1ms       60.9±0.3ms     0.09  simple_command.read.diff.empty.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 2) [citrea/virtualenv-py2.7-pyyaml-HGMODULEPOLICYrust+c-HGWITHRUSTEXTcpython]
      -         689±1ms       93.7±0.2ms     0.14  simple_command.read.diff.empty.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 2) [citrea/virtualenv-py3.7-pyyaml-HGMODULEPOLICYc-HGWITHRUSTEXTcpython]
      -         687±2ms       92.8±0.2ms     0.14  simple_command.read.diff.empty.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 2) [citrea/virtualenv-py3.7-pyyaml-HGMODULEPOLICYrust+c-HGWITHRUSTEXTcpython]
      -         799±2ms       98.1±0.6ms     0.12  simple_command.read.export.bare.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True) [citrea/virtualenv-py2.7-pyyaml-HGMODULEPOLICYc-HGWITHRUSTEXTcpython]
      -       800±0.8ms      100.0±0.4ms     0.12  simple_command.read.export.bare.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True) [citrea/virtualenv-py2.7-pyyaml-HGMODULEPOLICYrust+c-HGWITHRUSTEXTcpython]
      -       711±0.9ms        111±0.2ms     0.16  simple_command.read.export.bare.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True) [citrea/virtualenv-py3.7-pyyaml-HGMODULEPOLICYc-HGWITHRUSTEXTcpython]
      -         711±1ms        112±0.3ms     0.16  simple_command.read.export.bare.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True) [citrea/virtualenv-py3.7-pyyaml-HGMODULEPOLICYrust+c-HGWITHRUSTEXTcpython]
      -         760±1ms       59.8±0.1ms     0.08  simple_command.read.status.wc_clean.default.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 1) [citrea/virtualenv-py2.7-pyyaml-HGMODULEPOLICYc-HGWITHRUSTEXTcpython]
      -         763±2ms       62.2±0.3ms     0.08  simple_command.read.status.wc_clean.default.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 1) [citrea/virtualenv-py2.7-pyyaml-HGMODULEPOLICYrust+c-HGWITHRUSTEXTcpython]
      -         689±1ms       93.1±0.3ms     0.14  simple_command.read.status.wc_clean.default.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 1) [citrea/virtualenv-py3.7-pyyaml-HGMODULEPOLICYc-HGWITHRUSTEXTcpython]
      -         688±1ms       94.3±0.3ms     0.14  simple_command.read.status.wc_clean.default.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 1) [citrea/virtualenv-py3.7-pyyaml-HGMODULEPOLICYrust+c-HGWITHRUSTEXTcpython]
      -         763±1ms       60.1±0.2ms     0.08  simple_command.read.status.wc_clean.default.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 2) [citrea/virtualenv-py2.7-pyyaml-HGMODULEPOLICYc-HGWITHRUSTEXTcpython]
      -         763±1ms       62.1±0.4ms     0.08  simple_command.read.status.wc_clean.default.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 2) [citrea/virtualenv-py2.7-pyyaml-HGMODULEPOLICYrust+c-HGWITHRUSTEXTcpython]
      -       689±0.8ms       93.2±0.2ms     0.14  simple_command.read.status.wc_clean.default.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 2) [citrea/virtualenv-py3.7-pyyaml-HGMODULEPOLICYc-HGWITHRUSTEXTcpython]
      -       687±0.9ms       94.1±0.3ms     0.14  simple_command.read.status.wc_clean.default.time_bench('mercurial-filtered-2019-11-22', 'zstd', 'default', True, True, True, True, True, 2) [citrea/virtualenv-py3.7-pyyaml-HGMODULEPOLICYrust+c-HGWITHRUSTEXTcpython]
      ```
      
      Differential Revision: https://phab.mercurial-scm.org/D7492
      85c4cd73996b
  7. Jan 16, 2020
  8. Dec 26, 2019
  9. Jan 14, 2020
  10. Jan 16, 2020
  11. Jan 15, 2020
  12. Dec 28, 2019
    • Matt Harbison's avatar
      tests: stabilize test-subrepo-svn.t on Windows · e598c874b4af
      Matt Harbison authored
      This partially reverts 991e4404e910, because the URL form of `C:\...` gets
      escaped to `C%3A/...`, which breaks the substitution of $TESTTMP.
      
      The forget command on 'notafile*' errored out with:
      
         notafile*: The filename, directory name, or volume label syntax is incorrect
      
      which I think is because '*' isn't a legal character in a file name (though I
      can't trigger this directly from MSYS or cmd.exe for some reason).
      
      Differential Revision: https://phab.mercurial-scm.org/D7816
      e598c874b4af
  13. Jan 13, 2020
  14. Dec 30, 2019
  15. Dec 27, 2019
    • Martin von Zweigbergk's avatar
      graftcopies: remove `skip` and `repo` arguments · 833210fbd900
      Martin von Zweigbergk authored
      The `skip` argument was added in 2ba6c9b4e0eb (rebase: fix bug that
      caused transitive copy records to disappear (issue4192), 2014-06-07)
      in order to fix https://bz.mercurial-scm.org/show_bug.cgi?id=4192. I
      ran tests at that commit without the `skiprev` argument and the only
      difference I noticed was that `test-rebase-collapse.t` failed
      differently, in the call that is now on line 501. Without the
      `skiprev` argument, that call would end up creating another commit
      because it tried to record an invalid copy. With the previous patch in
      this series, such invalid copies are no longer recorded, so it seems
      we don't need the `skip` argument anymore.
      
      I also removed the `repo` argument since that also becomes unused with
      the removal of the `skip` argument.
      
      Differential Revision: https://phab.mercurial-scm.org/D7860
      833210fbd900
    • Martin von Zweigbergk's avatar
      graftcopies: use _filter() for filtering out invalid copies · 3df0bd706c40
      Martin von Zweigbergk authored
      `graftcopies()` (formerly called `duplicatecopies()`) checked that the
      copy destination existed in the working copy, but it didn't check that
      copy source existed in the parent of the working copy. In
      `test-graft.t` we can see that as warnings about not finding ancestors
      of the copied files, and also empty commits getting created.
      
      This patch uses the existing `_filter()` function for filtering out
      invalid copies. In addition to the aforementioned types, that also
      includes copies where source and destination is the same.
      
      Differential Revision: https://phab.mercurial-scm.org/D7859
      3df0bd706c40
  16. Jan 06, 2020
  17. Dec 27, 2019
  18. Jan 15, 2020
  19. Jan 14, 2020
  20. Jan 15, 2020
  21. Jan 14, 2020
Loading