1. 29 Nov, 2019 4 commits
  2. 21 Nov, 2019 2 commits
    • logcmdutil: call _exthook() in changesettemplater · 6331a6fc330
      Class changesetprinter has an _exthook() method that is called in
      _show() before the patch is displayed. Call the method as well in
      changesettemplater._show().
      
      Differential Revision: https://phab.mercurial-scm.org/D7505
      Denis Laxalde authored
    • phabricator: fix processing of tags/desc in getoldnodedrevmap() · 16b607e9f71
      It seems that the previous logic was wrong (it essentially comes
      from changeset 3ab0d5767b54 where the result got accumulated instead of
      early returned).
      First of all, the "continue" in first "if m:" is useless because we're
      at the end of the loop. Then, the algorithm seems weird because we will
      process all predecessors of a node and possibly override
      `toconfirm[node]` for each of these having a tag (maybe this doesn't
      happen, but still). Finally, we would also override `toconfirm[node]`
      when the "Differential Revision: " is found in changeset description.
      Maybe this is not a big deal when there is no mix of local tag and
      changeset description update?
      
      The logic is changed so that the loop on predecessors stops upon first
      match of a tag and so that the changeset description is only checked if
      no tag was found. Therefore, `toconfirm[node]` is only set once.
      
      Differential Revision: https://phab.mercurial-scm.org/D7513
      Denis Laxalde authored
  3. 10 Dec, 2019 1 commit
  4. 29 Nov, 2019 1 commit
  5. 14 Oct, 2019 1 commit
    • rust-performance: introduce FastHashMap type alias for HashMap · 5ac243a92e3
      Rust's default hashing is slow, because it is meant for preventing collision
      attacks.
      For all of the current Rust code, we don't care about those attacks, because
      if an person with bad intentions has write access to your repo, you have other
      issues.
      
      I've chosen to use the TwoXHash crate because it was made by a reputable member
      of the Rust community and has very good benchmarks.
      
      For now it does not seem to improve performance by much for the current code,
      but it's something else to not worry about when benchmarking code: in a
      previous experiment with copytracing in Rust, it accounted for more than 10%
      of the time of the entire script.
      
      Differential Revision: https://phab.mercurial-scm.org/D7116
      Raphaël Gomès authored
  6. 02 Dec, 2019 1 commit
  7. 05 Dec, 2019 1 commit
  8. 06 Dec, 2019 1 commit
  9. 07 Dec, 2019 1 commit
  10. 08 Dec, 2019 1 commit
  11. 09 Dec, 2019 1 commit
  12. 07 Dec, 2019 2 commits
    • tests: add test for Rust formatting · e8a3bbffdc7
      We enforce formatting for Python and C. It makes sense to do it
      for Rust as well.
      
      Since our rustfmt.toml relies on unstable rustfmt features, we
      need to use a Nightly rustfmt with --unstable-features in order
      for it to work. This is a bit hacky and I would prefer we remove
      this requirement. But for now, this commit assumes this is the
      way things must be and we go out of our way to detect and use the
      rustfmt from the "nightly" toolchain, as installed via rustup.
      
      We had to add some environment variables to the tests to make
      the Rust binaries happy. Otherwise when running rustfmt we get
      an error about no default toolchain being installed.
      
      Differential Revision: https://phab.mercurial-scm.org/D7579
      Gregory Szorc authored
    • rust: run rustfmt · ce088b38f92
      # skip-blame automated reformatting
      
      Differential Revision: https://phab.mercurial-scm.org/D7578
      Gregory Szorc authored
  13. 06 Dec, 2019 11 commits
  14. 29 Sep, 2019 1 commit
  15. 29 Nov, 2019 1 commit
  16. 06 Dec, 2019 1 commit
  17. 05 Dec, 2019 4 commits
  18. 27 Nov, 2019 1 commit
  19. 05 Dec, 2019 4 commits