Read about our upcoming Code of Conduct on this issue

This instance will be upgraded to Heptapod 0.28.1 on 2022-01-26 at 16:00 UTC+1 (a few minutes of down time)

  1. 03 Oct, 2019 2 commits
    • Ian Moody's avatar
      setup: make runnable from other dirs · 1a47cc2728ff
      Ian Moody authored
      Currently it fails when run in that way for two reasons:
      - the description is loaded from the README file but with a path relative to
        the working directory
      - module references have the same issue, which is fixed with package_dir.
      
      --HG--
      branch : stable
      1a47cc2728ff
    • Ian Moody's avatar
      setup: add a test for running setup.py · 164543ac3277
      Ian Moody authored
      `python3 -m pip install hg-evolve==9.2.0` currently fails, despite 9.2.0 being
      the first beta py3 release, because of unicode issues with the version number.
      `setup.py install` is a proxy test for pip install since it also suffers from
      similar, however the test currently fails due to running setup.py from a
      different directory to the one it is in.
      
      Also add a test for `hg version -v` with evolve enabled since a naive first
      solution for the pip issue was to just change `__version__` to a `u''` string,
      but that busts version display in `version -v`, which isn't currently picked up
      by tests.
      
      --HG--
      branch : stable
      164543ac3277
  2. 04 Oct, 2019 2 commits
  3. 28 Sep, 2019 3 commits
  4. 27 Sep, 2019 5 commits
  5. 25 Sep, 2019 4 commits
  6. 26 Sep, 2019 1 commit
  7. 25 Sep, 2019 1 commit
  8. 16 Sep, 2019 3 commits
    • Kyle Lippincott's avatar
      cmdstate: introduce a "saver" contextmanager and use it in place of save() · 535ab2609e45
      Kyle Lippincott authored
      Previously, the state was only saved in some paths out of these functions. This
      can be problematic, if the user ctrl-c's (or `kill -9`'s) the process, or we
      exit out of `relocate` for anything besides the "expected" reason, we won't
      record that we were in the middle of an evolve.
      
      One of our users has discovered that this leaves hg in a weird state; the user
      did something like this:
      
      ```
      $ hg evolve
      <something goes wrong with the merge tool, hits ctrl-c>
      <deals with the merge conflicts>
      $ hg evolve --continue
      abort: no interrupted evolve to continue
      $ hg evolve
      abort: uncommitted changes
      # Note: commands.status.verbose=True is set.
      $ hg status
      M foo
      # The repository is in an unfinished *update* state.
      
      # No unresolved merge conflicts
      
      # To continue:    hg update
      ```
      
      The user did an `hg update`, but it didn't actually do anything besides take it
      out of the unfinished update state (the files were still dirty in the working
      directory).
      535ab2609e45
    • Kyle Lippincott's avatar
      cmdstate: avoid setting a default argument to a mutable object (`{}`) · 0fecff9ac36d
      Kyle Lippincott authored
      If there's ever more than one cmdstate for the lifetime of the process, this can
      cause surprising behavior where the later cmdstates pick up options from the
      earlier ones.
      
      I've not seen any evidence this is actually causing any issues, but it's subtle
      enough that it should probably be fixed to help save significant debugging time
      later.
      0fecff9ac36d
    • Kyle Lippincott's avatar
      cmdstate: switch to new-style classes · 38ce7fe4d3f2
      Kyle Lippincott authored
      This isn't a huge issue and isn't necessary on Python3, but we're still Python2
      compatible and we should be consistent (and strongly prefer new-style classes);
      this is the only class that is not deriving from object that I could find.
      38ce7fe4d3f2
  9. 24 Sep, 2019 1 commit
  10. 12 Sep, 2019 1 commit
  11. 10 Sep, 2019 1 commit
  12. 09 Sep, 2019 1 commit
  13. 08 Sep, 2019 6 commits
  14. 07 Sep, 2019 1 commit
  15. 03 Sep, 2019 2 commits
  16. 02 Sep, 2019 1 commit
  17. 30 Aug, 2019 2 commits
  18. 28 Aug, 2019 1 commit
  19. 06 Sep, 2019 2 commits
    • Anton Shestakov's avatar
      stack: remove unnecessary copying of rdependencies · 4c5377ab147a
      Anton Shestakov authored
      rdependencies is not modified in any way in this method, so no need to copy it.
      
      --HG--
      branch : stable
      4c5377ab147a
    • Anton Shestakov's avatar
      stack: make a deep copy of `dependencies` before modifying its items · 6b82b4f72347
      Anton Shestakov authored
      The algorithm later on in this method uses .remove() to remove individual
      elements from items in dependencies, which before this patch modified the
      cached property contents. So for further use that dictionary was in the form of
      {1: set([])}, i.e. all sets were empty.
      
      This deep copy block could be way simpler, but the problem is that sometimes we
      get lists of _succs() from evolvebits.builddependencies(). Note: this happens
      only in topic's stack version of builddependencies() and it looks like a
      suboptimal way to handle multiple successors (see evolve's counterpart
      function).
      
      stack.builddependencies method is removed, it has served its purpose (see the
      previous patch).
      
      --HG--
      branch : stable
      6b82b4f72347