Skip to content
Snippets Groups Projects
  1. Feb 05, 2022
    • Georges Racinet's avatar
      Stop post-processing branchmap entries for obsolescence · c78aee1fe363
      Georges Racinet authored
      With the Mercurial 6.1 (core see heptapod#633) taking obsolescence
      into account while updating branchmap, it is no longer necessary
      to perform the (very slow) post-processing provided by the evolve
      extension.
      
      Because of the big jump in minimum required Mercurial version,
      we make it a major version change.
      
      Fixing heptapod#632 will thus boil down to requiring
      py-heptapod>=4.0.0dev0
      
      This post-processing was the standard if evolve is activated
      (through the single heads enforcement logic),
      but the heptapod extension was (and still is) disabling it because
      it needs to call it itself anyway.
      See 834eb9379d73 for details.
      c78aee1fe363
  2. Jan 25, 2022
  3. Jan 03, 2022
  4. Jan 02, 2022
  5. Nov 26, 2021
  6. Nov 15, 2021
  7. Nov 13, 2021
    • Georges Racinet's avatar
      GitLab hooks: removed annoying and misleading failure message · 0db46e66b9fd
      Georges Racinet authored
      The original wording was appropriate when the pre-receive call was
      done actually after the transaction. It was then useful to warn the
      user of a possible decrepancy. But an error in pre-receive has long
      since become a trigger for transaction abort.
      
      On the other hand, the original message was still appropriate for
      the post-receive call, expanding it a bit to include "actions" not
      triggered.
      0db46e66b9fd
  8. Nov 11, 2021
  9. Nov 10, 2021
  10. Nov 03, 2021
  11. Oct 25, 2021
    • Georges Racinet's avatar
      Closed branches: don't break if no new changeset in transaction · cf9852a71d45
      Georges Racinet authored
      The `%d` in the revset used to analyse new changesets produces
      a hard error if the revno does not exist, instead of an empty
      result.
      
      We could later on try and introduce a logic similar to MR detection,
      but the topic is not always visible to GitLab anyway, for instance
      if the closing changeset is the only one, so that would require
      more changes.
      
      Meanwhile, we have a solution for one of the cases of heptapod#452
      cf9852a71d45
  12. Nov 03, 2021
    • Georges Racinet's avatar
      Error handling: ensure tracebacks are produced in GitLab mirror hook · db8189107a65
      Georges Racinet authored
      (adapted graft of 4728e33a7d5c)
      
      Here we consider straight Abort errors to be user errors, hence not
      warranting a server-side traceback in the logs. On the other hand, all
      other uncatched errors will be logged at error level.
      
      This makes use of `hg-loggingmod` 0.3.0 ability to log tracebacks in
      the logs.
      
      This can certainly be improved further, as it doesn't prevent
      server-side tracebacks to be displayed to SSH clients, for instance.
      db8189107a65
  13. Oct 28, 2021
    • Georges Racinet's avatar
      Tests: force pytest<6 to workaround problem with error.Hint · 09870b83b236
      Georges Racinet authored
      This solves this problem in tests of testhelpers:
      
              # actual error is FilteredRepoLookupError up to 5.9 and will
              # be InputError in 6.0 (current default head of Mercurial, does not
              # bear the version yet)
      >       with pytest.raises(error.Hint) as exc_info:
      E       TypeError: expected exception must be a BaseException type, not Hint
      heptapod/testhelpers/tests/test_repo_wrapper.py:54: TypeError
      
      The queston would be whether it'd be reasonable to make `error.Hint`
      subclass `Exception` (or `BaseException`).
      
      Also pytest<6 works for me, but that doesn't mean pytest 6.0.0 was the
      one to start demanding exceptions to be subclass `BaseException`.
      09870b83b236
  14. Oct 25, 2021
  15. Oct 17, 2021
  16. Oct 12, 2021
  17. Oct 17, 2021
    • Georges Racinet's avatar
      test_integration: preparations to derive as tests without Git · 66f073f6c089
      Georges Racinet authored
      These should be only spelling and type changes, meant so that
      the diff with the future tests of a native state maintainer without
      a Git repository are easier to compare with these.
      
      This explains some weird line breaks, such as:
      
      ```
          wrapper.commit_file(
              'foo', message='some msg')
      ```
      
      because it will become in the tests for the future class something
      like
      
      ```
          ctx = wrapper.commit_file(
      ```
      
      with the second line unchanged.
      
      We also take the opportunity to modernize the calls to the
      deprecated `write_commit()`.
      66f073f6c089
Loading