Skip to content
Snippets Groups Projects
  1. Feb 28, 2023
    • Matt Harbison's avatar
      configitems: enable changegroup3 by default (unless using infinitepush) · 2cf264e9
      Matt Harbison authored
      The LFS extension requires this, and if it isn't enabled on the client (or the
      LFS extension isn't loaded), a web client gets a 500 instead of a sensible error
      message.  Now it gets a different (client) error, but maybe it can be handled
      more gracefully.  c0f11347b107 indicates that treemanifest repos have this issue
      too.  29cfc474c5fd mentions gating this behind `experimental` so that the format
      could change, but that was 7 years ago and we now have an experimental
      `changegroup4` as well.
      
      We can keep this as a config for the next cycle in case someone runs into an
      unexpected problem, and then jettison it if the infinitepush bundle name changes
      are either acceptable as-is or can be created differently.
      2cf264e9
  2. Mar 02, 2023
  3. Feb 28, 2023
    • Matt Harbison's avatar
      patchbomb: respect the `--git` option · a6b49787
      Matt Harbison authored
      I *think* this is the only diffopt exposed on the command line.  TortoiseHg had
      a similar issue creating diffopts, and this was caught by type hints in the next
      commit.
      a6b49787
  4. Mar 01, 2023
    • Raphaël Gomès's avatar
      rhg: remember the inode of .hg/dirstate · dbe09fb0
      Raphaël Gomès authored
      This allows us to detect changes of `.hg/dirstate`, which is either the
      full dirstate (in dirstate-v1) or the docket file (v2) without relying on
      data inside the file. It only works on UNIX systems.
      
      This fixes a race condition for dirstate-v1 (as demonstrated by
      the test changes) and adds a confortable layer of sanity for dirstate-v2.
      dbe09fb0
  5. Feb 28, 2023
  6. Feb 27, 2023
  7. Feb 26, 2023
  8. Feb 24, 2023
  9. Feb 27, 2023
  10. Feb 25, 2023
  11. Feb 24, 2023
  12. Feb 28, 2023
  13. Feb 24, 2023
  14. Feb 23, 2023
  15. Feb 24, 2023
  16. Feb 28, 2023
    • Raphaël Gomès's avatar
      dirstate: add a way to test races happening during status · ae61851e
      Raphaël Gomès authored
      We add the `devel.sync.status.pre-dirstate-write-file` config option to easily
      test what happens when other operations happen during the window where
      `hg status` is done working but has not updated the cache on disk yet.
      
      We introduce the framework for testing such races too, actual tests will be
      added in the next changesets. For now the test is only checking dirstate-v1. We
      will extend the test coverage later too.
      
      Check test documentation for details.
      
      Code change from Raphaël Gomès <rgomes@octobus.net>
      Test change from Pierre-Yves David <pierre-yves.david@octobus.net>
      ae61851e
    • Matt Harbison's avatar
      hghave: drop py27 and py35 support · 57133107
      Matt Harbison authored
      These versions of python are no longer supported by Mercurial.
      57133107
    • Matt Harbison's avatar
      hghave: byteify a path passed to a core API · a7cbb626
      Matt Harbison authored
      It looks like this predicate isn't used at all(?)
      a7cbb626
  17. Jan 31, 2023
  18. Feb 23, 2023
    • Pierre-Yves David's avatar
      delta-find: rename `delta-reuse-policy` to `pulled-delta-reuse-policy` · f35cf52a
      Pierre-Yves David authored
      This make it clearer which type of delta we are talking about.
      f35cf52a
    • Matt Harbison's avatar
      bundlerepo: apply phase data stored in the bundle instead of assuming `draft` · 197204db
      Matt Harbison authored
      The phase information contained in the changegroup part and the explicit
      `phase-heads` part are now taken in account.
      
      Initial changes and test by Matt Harbison, code rework by Pierre-Yves David.
      197204db
    • Pierre-Yves David's avatar
      transaction: use the standard transaction mechanism to backup branch · 11e6eee4
      Pierre-Yves David authored
      Branch is a bit special :
      - It currently does not collaborate with the transaction (or any scoping) for
        writing (this is bad)
      - It can change without the lock being taken (it is protected by `wlock`)
      
      So we rely on the same mechanism as for the backup of the other dirstate file:
      - we only do a backup if we hold the wlock
      - we force a backup though the transaction
      
      
      Since "branch" write does not collaborate with the transaction, we cannot back
      it up "at the last minute" as we do for the dirstate. We have to back it up
      "upfront". Since we have a backup, the transaction is no longer doing its
      "quick_abort" and get noisy. Which is quite annoying. To work around this, and
      to avoid jumping in yet-another-rabbit-hole of "getting branch written
      properly", I am doing horrible things to the transaction in the meantime.
      We should be able to get this code go away during the next cycle.
      
      In the meantime, I prefer to take this small stop so that we stop abusing the
      "journal" and "undo" mechanism instead of the proper backup mechanism of the
      transaction.
      
      
      Also note that this change regress the warning message for the legacy fallback
      introduced in 2008 when issue902 got fixed in dd5a501cb97f (Mercurial 1.0).
      
      I feel like this is fine as issue 902 remains fixed, and this would only affect
      people deploying a mix of 15 year old Mercurial and modern mercurial, and using
      branch and rollback extensively.
      11e6eee4
    • Pierre-Yves David's avatar
      transaction: no longer explicitly cache bookmarks · 8fb39136
      Pierre-Yves David authored
      The transaction file generation is already dealing with the backup for this.
      So, no need to duplicate such backup.
      8fb39136
  19. Feb 22, 2023
  20. Feb 23, 2023
    • Pierre-Yves David's avatar
      narrow: drop the dedicated backup code · 39256bee
      Pierre-Yves David authored
      Now that the transaction manage the writes, we can simply use the transaction for backup.
      
      Some extra cleanup to ensure all changes happens within a transaction will be
      made in the next changesets.
      39256bee
  21. Feb 24, 2023
  22. Jan 09, 2023
  23. Feb 22, 2023
Loading