Skip to content
Snippets Groups Projects
  1. Jul 16, 2020
  2. Jul 15, 2020
  3. Jul 16, 2020
  4. Jul 15, 2020
  5. Jul 16, 2020
  6. Jul 07, 2020
  7. Jun 01, 2020
    • Manuel Jacob's avatar
      absorb: make it explicit if empty changeset was created · f5509998
      Manuel Jacob authored
      If the config rewrite.empty-successor=skip is set, a message "became empty and
      was dropped" is shown if the changeset became empty. If the config
      rewrite.empty-successor=keep is set, absorb may create changesets even if they
      became empty. It’s probably a good idea to make that explicit. Therefore the
      message is changed to be a combination of both: "became empty and became ...".
      
      Repeating the word "became" is not very elegant. This results from the fact
      that "became" was and is overloaded to indicate both the change from non-empty
      to empty and the successor relation. In the combinated message, both meanings
      are used in one sentence.
      f5509998
    • Manuel Jacob's avatar
      absorb: consider rewrite.empty-successor configuration · 3ee8e2d5
      Manuel Jacob authored
      This adds support for the recently added rewrite.empty-successor configuration.
      3ee8e2d5
    • Manuel Jacob's avatar
      rebase: consider rewrite.empty-successor configuration · 1efbfa9b
      Manuel Jacob authored
      This adds support for the recently added rewrite.empty-successor configuration.
      1efbfa9b
  8. Jul 12, 2020
  9. Jul 11, 2020
    • Manuel Jacob's avatar
      config: add option to control creation of empty successors during rewrite · b6269741
      Manuel Jacob authored
      The default for many history-rewriting commands (e.g. rebase and absorb) is
      that changesets which would become empty are not created in the target branch.
      This makes sense if the source branch consists of small fix-up changes. For
      more advanced workflows that make heavy use of history-editing to create
      curated patch series, dropping empty changesets is not as important or even
      undesirable.
      
      Some users want to keep the meta-history, e.g. to make finding comments in a
      code review tool easier or to avoid that divergent bookmarks are created. For
      that, obsmarkers from the (to-be) empty changeset to the changeset(s) that
      already made the changes should be added. If a to-be empty changeset is pruned
      without a successor, adding the obsmarkers is hard because the changeset has to
      be found within the hidden part of the history.
      
      If rebasing in TortoiseHg, it’s easy to miss the fact that the to-be empty
      changeset was pruned. An empty changeset will function as a reminder that
      obsmarkers should be added.
      
      Martin von Zweigbergk mentioned another advantage. Stripping the successor will
      de-obsolete the predecessor. If no (empty) successor is created, this won’t be
      possible.
      
      In the future, we may want to consider other behaviors, like e.g. creating the
      empty successor, but pruning it right away. Therefore this configuration
      accepts 'skip' and 'keep' instead of being a boolean configuration.
      b6269741
  10. Aug 31, 2019
  11. Jul 06, 2020
  12. Jul 07, 2020
    • Jörg Sonnenberger's avatar
      phases: sparsify phase lists · b1e51ef4
      Jörg Sonnenberger authored
      When the internal and archived phase was added, allphase became a large,
      sparsely populated list. This dramatically increased the number of
      lookup operations for public relations in `phasecache.phase`. As a first
      step, define allphases and related lists explicitly to contain only the
      actual phases. Make phasenames a dictionary and create corresponding
      dictionaries for mapping phase names back to numbers. Adjust various
      list to be sparse as well with the exception of phaseroots and phasesets
      members of phasecache. Keep those as a separate step as it involves
      changes to the C module.
      
      Differential Revision: https://phab.mercurial-scm.org/D8697
      b1e51ef4
    • Jörg Sonnenberger's avatar
      phases: updatephases should not skip internal phase · 361a7444
      Jörg Sonnenberger authored
      Historically, updatephases used to skip the secret phase, but wasn't
      updated when archived and internal were added.
      
      Differential Revision: https://phab.mercurial-scm.org/D8696
      361a7444
  13. Jun 27, 2020
  14. Jul 07, 2020
  15. Jun 24, 2020
    • Raphaël Gomès's avatar
      hg-core: define a `dirstate_status` `Operation` · 98817e5d
      Raphaël Gomès authored
      This is 3/3 in a series of patches to improve dirstate status' code.
      
      Following in the footsteps of a46e36b82461, we move the main status
      functionality to an `Operation`. This will most likely be subject to change in
      the future (what function signature, what parameters, etc., but we will see
      when `rhg` gets `hg status` support.
      
      Differential Revision: https://phab.mercurial-scm.org/D8663
      98817e5d
    • Raphaël Gomès's avatar
      rust-status: improve documentation and readability · 470d306e
      Raphaël Gomès authored
      This patch is 2/3 in the series to improve the dirstate status code. It adds a
      number of common type aliases to add more obvious semantics to function
      signatures, improves/adds documentation where necessary and improves one or two
      patterns to be more idiomatic.
      
      Differential Revision: https://phab.mercurial-scm.org/D8662
      470d306e
    • Raphaël Gomès's avatar
      rust-status: refactor status into a struct · 7528699c
      Raphaël Gomès authored
      The code for `dirstate/status` has grown too large for comfort, this is the
      first of three patches that try to improve maintainability.
      In this patch, refactoring dirstate's status into a struct allows for slimming
      down function signatures drastically, keeping the mental (and maintenance)
      burden lower, since pretty much all of them shared a few common arguments.
      
      This had the pleasant side-effect of simplifying lifetimes a little. This has
      no observable impact on performance.
      
      The next patch will add/improve documentation and refactor some types. I tried
      to keep new code down to a minimum in this patch because it's already pretty
      big.
      
      Differential Revision: https://phab.mercurial-scm.org/D8661
      7528699c
  16. Dec 14, 2019
  17. Jun 22, 2020
  18. Apr 14, 2020
  19. Jul 14, 2020
    • Martin von Zweigbergk's avatar
      extensions: make `hg nonexistent` not crash with PyOxidizer · 5d09a120
      Martin von Zweigbergk authored
      When running `hg nonexistent`, we try to look for extensions that
      provide that command. We do that by looking for files in the
      `hgext.__file__` directory. However, PyOxidizer doesn't provide a
      `__file__`, so we crash when running with PyOxidizer.
      
      We should be able to look for the command in built-in extensions, but
      we seem to already have code for skipping the scan when running in a
      frozen binary, so I just modified that code instead.
      
      By the way, it also seems like we should be able to search for
      extensions in the `hgext3rd` module, but we don't do that yet either
      (before or after this patch).
      
      Differential Revision: https://phab.mercurial-scm.org/D8750
      5d09a120
  20. Jul 09, 2020
  21. Jul 15, 2020
  22. Jul 13, 2020
Loading