Skip to content
Snippets Groups Projects
  1. Aug 25, 2021
  2. Aug 18, 2021
  3. Aug 17, 2021
  4. Aug 10, 2021
    • Pierre-Yves David's avatar
      run-tests: introduce a --pyoxidized option · 83235fb5
      Pierre-Yves David authored
      This options make it possible to use the pyoxidizer version to run the tests.
      This is a first basic version that is windows only.
      
      The test needs a working python, with Mercurial installed. However the
      pyoxidizer product is "self contains" without a "usable" Python. There have been
      discussion to have a fully functional `hg admin::python` command providing a
      fully functional python interpreter, but nothing is of the sort is ready yet. In
      
      In the meantime we use an hybrid approach, similar to what we do for testing
      `rhg`. We install a full "normal" Mercurial, but also the pyxodizer product as
      the official `hg binary`. That way, we use the pyoxidizer version or everything,
      but test that needs to run python have it available, with a fully functional
      Mercurial package.
      
      This first version is pretty basic (Windows only, no --local, not
      --with-pyoxidized), but it runs, various bug that we will have to fix.
      
      Differential Revision: https://phab.mercurial-scm.org/D11277
      83235fb5
  5. Aug 07, 2021
  6. Aug 06, 2021
  7. Jul 27, 2021
  8. Aug 05, 2021
  9. Aug 03, 2021
  10. Aug 04, 2021
  11. Aug 01, 2021
    • Georges Racinet's avatar
      rust-nodemap: falling back to C impl as mitigation · 3fffb485
      Georges Racinet authored
      This is a mitigation for https://bz.mercurial-scm.org/show_bug.cgi?id=6554
      
      We see sometimes almost all data except the most recent revisions
      removed from the persistent nodemap, but we don't know how to
      reproduce yet.
      
      This has sadly repercussions beyond just needing to reconstruct the
      persistent nodemap: for instance, this automatically filters out
      all bookmarks pointing to revisions that the nodemap cannot resolve.
      If such filtering happens in a transaction, the update of the
      bookmarks file that happens at the end of transaction loses all
      bookmarks that have been affected. There may be similar consequences
      for other data.
      
      So this is a data loss, something that we have to prevent as soon as
      possible.
      
      As a mitigation measure, we will now fallback to the C implementation
      in case nodemap lookups failed. This will add some latency, e.g., in
      discovery, yet less than disabling the persistent nodemap entirely.
      
      We considered implementing the fallback directly on the Python
      side, but `revlog.get_rev()` is not systematically used, there are
      also several direct calls to the index method (`self.index.rev()` for
      a `revlog` instance). It is therefore more direct to implement the
      mitigation in the rust-cpython wrapper.
      
      Differential Revision: https://phab.mercurial-scm.org/D11238
      3fffb485
  12. Jul 28, 2021
    • Anton Shestakov's avatar
      obsolete: disable other evolution config options if createmarkers is off · 2cd00052
      Anton Shestakov authored
      We used to raise an abort in this case, but recent changes to local clone
      command (377d8fc20e34) resulted in destrepo both caring about
      experimental.evolution config options and not initializing extensions.
      
      So imagine if you had evolve and allowdivergence enabled in your ~/.hgrc. Local
      clone stopped working after 377d8fc20e34 because evolve sets
      experimental.evolution=all, but only on srcrepo, for destrepo the extension is
      not initialized. It's possible to make local cloning work by initializing
      extensions for destrepo in some cases, but in other cases (e.g. allowdivergence
      in ~/.hgrc, evolve extension in original-repo/.hg/hgrc) it would still fail.
      
      In a discussion with Pierre-Yves David it was decided to simply force other
      evolution options to be false if createmarkers is not enabled.
      
      Differential Revision: https://phab.mercurial-scm.org/D11223
      2cd00052
  13. Jul 29, 2021
  14. Jul 27, 2021
  15. Jul 26, 2021
  16. Jul 28, 2021
  17. Jul 29, 2021
  18. Mar 11, 2019
    • Martin von Zweigbergk's avatar
      fix: use scmutil.movedirstate() instead of reimplementing · 66ad7e32
      Martin von Zweigbergk authored
      I wrote this patch 2 years ago as a little cleanup. I wanted to
      generally used `scmutil.movedirstate()` instead of manually updating
      the dirstate because that is easy to get wrong. I didn't know until
      today that the current code had a bug. So I added the test case two
      patches before this one and dusted off this one patch. This is a
      little slower than the previous code, as it diffs two
      manifests. However, it fixes the bug and I don't think it's going to
      be noticeably slower anyway.
      
      Differential Revision: https://phab.mercurial-scm.org/D11210
      66ad7e32
  19. Jul 23, 2021
  20. Jul 20, 2021
  21. Jul 19, 2021
Loading