relnotes/next
author Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
Sun, 01 Aug 2021 10:54:03 -0400
branchstable
changeset 47788 48f07adbda98
parent 47758 ec77f709495c
child 47978 bad66df931b5
permissions -rw-r--r--
streamclone: ensure the server sends the right amount of data Otherwise, the client would fail with some confusing error. I have seen an error which I think is this, perhaps due to a concurrent revlog split, which streamclones do not handle correctly and would result in a short read of the index of the revlog being split. Differential Revision: https://phab.mercurial-scm.org/D11236

== New Features ==

 * `hg config` now has a `--source` option to show where each
   configuration value comes from.


== Default Format Change ==

These changes affects newly created repositories (or new clone) done with
Mercurial 5.8.


== New Experimental Features ==


== Bug Fixes ==


== Backwards Compatibility Changes ==


== Internal API Changes ==

The Dirstate API have been updated as the previous function leaked some
internal details and did not distinct between two important cases: "We are
changing parent and need to adjust the dirstate" and "some command is changing
which file is tracked". To clarify the situation:

* the following functions have been deprecated,

  - dirstate.add,
  - dirstate.normal,
  - dirstate.normallookup,
  - dirstate.merge,
  - dirstate.otherparent,
  - dirstate.remove,
  - dirstate.drop,

* these new functions are added for the "adjusting parents" use-case:

  - dirstate.update_file,
  - dirstate.update_file_p1,

* these new function are added for the "adjusting wc file" use-case":

  - dirstate.set_tracked,
  - dirstate.set_untracked,
  - dirstate.set_clean,
  - dirstate.set_possibly_dirty,

See inline documentation of the new functions for details.