Skip to content
Snippets Groups Projects
  1. Feb 22, 2025
  2. Oct 24, 2022
  3. Oct 04, 2022
    • Pierre-Yves David's avatar
      shelve: do not add the dirstate backup to the transaction · f0a3aaa07d6a
      Pierre-Yves David authored
      Otherwise the transaction will properly clean up its mess on abort… deleting the
      backup in the process.
      
      This break with dirstate-v2 that has more file than just the dirstate. The
      dirstate itself is full of various exception and is "fine" when using
      dirstate-v1.
      f0a3aaa07d6a
  4. Aug 16, 2022
    • Pierre-Yves David's avatar
      phase: rename the requirement for internal-phase (BC) · 74fb1842f8b9
      Pierre-Yves David authored
      The previous requirements covers both `internal` and `archived` phase.  However,
      the `archived` phase is not ready for usage (while the internal one is mostly
      ready for years). So we split the archived on in a dedicated requirements (see
      previous changeset for details) and rename the one for internal-phase. This will
      avoid older client trying to use the archived phase on `internal` only
      repositories.
      
      Since the requirements stayed experimental since its introduction. It seems
      fine to drop the previous version.
      74fb1842f8b9
  5. Jan 21, 2022
  6. Jan 09, 2021
  7. Jan 11, 2021
  8. Jan 07, 2021
  9. Jan 09, 2021
  10. Oct 12, 2020
  11. Oct 22, 2020
    • Martin von Zweigbergk's avatar
      errors: add config that lets user get more detailed exit codes · 21733e8c924f
      Martin von Zweigbergk authored
      This adds an experimental config that lets the user get more detailed
      exit codes. For example, there will be a specific error code for
      input/user errors. This is part of
      https://www.mercurial-scm.org/wiki/ErrorCategoriesPlan. I've made the
      config part of tweakdefaults.
      
      I've made the config enabled by default in tests. My reasoning is that
      we want to see that each specific error case gives the right exit code
      and we don't want to duplicate all error cases in the entire test
      suite. It also makes it easy to grep the `.t` files for `[255]` to
      find which cases we have left to fix. The logic for the current exit
      codes is quite simple, so I'm not too worried about regressions
      there. I've added a test case specifically for the "legacy" exit
      codes.
      
      I've set the detailed exit status only for the case of
      `InterventionRequired` and `SystemExit` for now (the cases where we
      currently return something other than 255), just to show that it
      works.
      
      Differential Revision: https://phab.mercurial-scm.org/D9238
      21733e8c924f
  12. Oct 27, 2020
  13. Feb 21, 2020
  14. Oct 14, 2018
    • Pierre-Yves David's avatar
      debugobsolete: also issue the "new obsmarkers" messsage · 34a46d48d24e
      Pierre-Yves David authored
      We are going to improve the way this message is issued in the core codebase.
      This will make it appears for `hg debugobsolete` too. Since this seems like a
      good idea, we make the output change in a previous changesets to clarify the
      next changeset.
      34a46d48d24e
  15. Jul 17, 2019
    • Taapas Agrawal's avatar
      continue: added support for unshelve · 117437f3f541
      Taapas Agrawal authored
      This patch adds the support for `ushelve` in `hg continue` plan.
      
      `hgcontinueunshelve()` has been created for independent calls.
      In case an interrupted unshelve is resumed via hg continue the
      shelvedstate needs to be loaded seperately. This has been
      ensured by `_loadunshelvedstate()`
      
      `hgcontinueunshelve()` is then registered as `continuefunc` for state
      detection API.
      
      Results are shown as tests.
      
      Differential Revision: https://phab.mercurial-scm.org/D6652
      117437f3f541
  16. Jun 29, 2019
    • Taapas Agrawal's avatar
      abort: added support for merge · 3bc400ccbf99
      Taapas Agrawal authored
      This adds support of `hg merge --abort` to `hg abort` plan.
      
      This involves refactoring `hg.merge` into two different
      functions removing the abort logic of `merge` from `hg.merge`
      and then creating a seperate `hg.abortmerge` to handle the
      abort logic so that the abortion of merge can be called
      independently.
      
      `hg.abortmerge` is then registered as `abortfunc` for the
      state detection API so that `commands.abort` can use it to
      deal with an unfinished merge operation.
      
      Results are shown as tests.
      
      Differential Revision: https://phab.mercurial-scm.org/D6588
      3bc400ccbf99
  17. Jun 26, 2019
    • Taapas Agrawal's avatar
      abort: added support for unshelve · 3fb0493812c0
      Taapas Agrawal authored
      This patch adds the support for shelve in `hg abort` plan.
      
      For this the logic to load a `shelvedstate` and the error
      handling for it had been shifted to a seperate function
      `_loadunshelvedstate()`. This returns a tuple with `state` file
      and `opts.`
      
      `hgabortunshelve()` has been created for independent calls.
      In case abortion of `unshelve` is called via `hg abort` the
      `shelvedstate` needs to be loaded seperately. This has been
      ensured by `_loadunshelvedstate()`
      
      `hgabortunshelve()` is then registered as `abortfunc` for state
      detection API.
      
      Results are shown as tests.
      
      Differential Revision: https://phab.mercurial-scm.org/D6579
      3fb0493812c0
  18. Jul 10, 2019
  19. Jul 09, 2019
  20. Jun 28, 2019
  21. Feb 05, 2019
  22. Feb 04, 2019
  23. Dec 05, 2018
  24. Sep 20, 2018
    • Boris Feld's avatar
      shelve: find shelvedctx from bundle even if they are already in the repo · d9ba836fc234
      Boris Feld authored
      We use the new "duplicates" node tracking to find the tip of the bundle even if
      it already exists in the repository.
      
      Such logic is not supposed to be needed in theory. If the shelve was made using
      internal-phase, we already know its node. Otherwise, the bundle content should
      have been stripped. However, handling it makes the shelve code more robust and
      provide a good example of "revduplicates" usage.
      d9ba836fc234
  25. Sep 22, 2018
  26. Sep 19, 2018
  27. Jun 06, 2018
    • Boris Feld's avatar
      shelve: no longer strip internal commit when using internal phase · 52dfa1eb0ad4
      Boris Feld authored
      When the internal phase is used, the internal commits we create during shelve
      will be automatically hidden, and we don't need to strip them. Avoiding strips
      gives much better performances and is less traumatic for caches.
      
      Test changes are all related to revision numbers increasing more quickly since
      we avoid stripping.
      
      At the end of `test-shelve.t` we now need manually strip the shelve-commit in
      addition to the x.shelve file deletion. This emulates a preexisting shelve
      after a repository upgrade.
      
      Note:
      
          The hidden internal commits confuses rebase a bit as shown by a new test
          added. This will happen when the user have shelve commits on top of a
          changeset to be rebased.
      
          We'll fix this in the next commit. As we still use a backup bundle, rebase
          can just strip the internal changesets and be fine.
      52dfa1eb0ad4
  28. May 29, 2018
  29. Aug 31, 2018
  30. Jun 05, 2018
    • Boris Feld's avatar
      shelve: add an "internal" extra · 5f8282f368b2
      Boris Feld authored
      Keeping shelve changeset around increase the risk of collision with normal
      changesets. To prevent such collision and help with overall clarity, we add an
      'internal' key in extra that mark the changeset as created by "shelve".
      
      Node changes in tests are expected.
      5f8282f368b2
  31. May 29, 2018
    • Boris Feld's avatar
      shelve: store shelved node in a new data file · da121c9dc0f2
      Boris Feld authored
      It is useful for a version of shelve not based on bundle and strip. Having
      more data does not hurt the bundle based case so we introduce it in all cases
      before doing more rework.
      
      We also keep storing the patch using another method.
      
      note: We could have this metadata file list all the file involved in the
      shelve and use that for cleanup. This would be more future proof than having a
      hard-coded list of file to purge. However, this is an adventure for another
      series.
      da121c9dc0f2
  32. Jul 16, 2018
  33. Jul 13, 2018
  34. Jun 05, 2018
  35. May 28, 2018
Loading