branching: merge stable into default
authorRaphaël Gomès <rgomes@octobus.net>
Tue, 01 Mar 2022 16:44:59 +0100
changeset 48808 db023e33b652
parent 48799 f835f6a4ee9a (current diff)
parent 48807 1ceca11e6546 (diff)
child 48809 1d5fd9def5ac
branching: merge stable into default
--- a/.hgsigs	Mon Feb 21 12:03:57 2022 +0100
+++ b/.hgsigs	Tue Mar 01 16:44:59 2022 +0100
@@ -223,3 +223,5 @@
 799fdf4cca80cb9ae40537a90995e6bd163ebc0b 0 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
+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
--- a/.hgtags	Mon Feb 21 12:03:57 2022 +0100
+++ b/.hgtags	Tue Mar 01 16:44:59 2022 +0100
@@ -236,3 +236,5 @@
 799fdf4cca80cb9ae40537a90995e6bd163ebc0b 6.0.1
 75676122c2bf7594ac732b7388db4c74c648b365 6.0.2
 dcec16e799ddb6d33fcd11b04af530250a417a58 6.0.3
+c00d3ce4e94bb0ee8d809e25e1dcb2a5fab84e2c 6.1rc0
+d4486810a1795fba9521449b8885ced034f3a6dd 6.1
--- a/mercurial/merge.py	Mon Feb 21 12:03:57 2022 +0100
+++ b/mercurial/merge.py	Tue Mar 01 16:44:59 2022 +0100
@@ -25,6 +25,7 @@
     mergestate as mergestatemod,
     obsutil,
     pathutil,
+    policy,
     pycompat,
     scmutil,
     subrepoutil,
@@ -1764,9 +1765,9 @@
         b'fsmonitor', b'warn_update_file_count'
     )
     # avoid cycle dirstate -> sparse -> merge -> dirstate
-    from . import dirstate
+    dirstate_rustmod = policy.importrust("dirstate")
 
-    if dirstate.rustmod is not None:
+    if dirstate_rustmod is not None:
         # When using rust status, fsmonitor becomes necessary at higher sizes
         fsmonitorthreshold = repo.ui.configint(
             b'fsmonitor',
--- a/relnotes/6.0	Mon Feb 21 12:03:57 2022 +0100
+++ b/relnotes/6.0	Tue Mar 01 16:44:59 2022 +0100
@@ -1,3 +1,11 @@
+= Mercurial 6.0.3 =
+
+  * Fix an infinite loop in edge cases of the pure Python dirstate-v2 packer
+  * Fix a small race condition with deleted files in Rust-augmented status
+  * Small improvement to Python 3.11 compatibility
+  * Fixed some typos in help messages that caused missing sections
+  * Centos -> Rockylinux packaging
+
 = Mercurial 6.0.2 =
 
   * Fix `hg incoming` and `hg outgoing` with remote subrepos on Windows
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/relnotes/6.1	Tue Mar 01 16:44:59 2022 +0100
@@ -0,0 +1,59 @@
+'''This is the last release to support Python 2. Mercurial is Python 3 only starting with 6.2'''
+
+= Mercurial 6.1rc0 =
+
+== New Features ==
+  * Added a way of specifying required extensions that prevent Mercurial from starting if they are not found. See `hg help config.extensions`.
+  * Merge conflict markers have been made clearer (see backwards compatibility below)
+  * Improve detailed error codes
+  * Added a hint about mangled whitespace on bad patch
+  * Explain which order the commits are presented in `chistedit`
+  * Introduce a `dirstate-tracked-hint` feature to help automation keep track of changes to tracked files. See `hg help config.use-dirstate-tracked-hint`.
+  * Shared repositories can be upgraded if the upgrade is specific to the share. For now, this only applies to `dirstate-v2` and `dirstate-tracked-hint`.
+  * When using the `narrow` extension, non-conflicting changes to files outside of the narrow specification can now be merged.
+  * When cloning a repository using stream-clone, the client can now control the repository format variants to use as long as the stream content does not restrict that variant.
+
+== Default Format Change ==
+
+These changes affect newly created repositories (or new clones) done with Mercurial 6.1.
+
+  * The `share-safe` format variant is now enabled by default. It makes configuration and requirements more consistent across repository and their shares. This introduces a behavior change as shares from a repository using the new format will also use their main repository's configuration. See `hg help config.format.use-share-safe` for details about the feature and the available options for auto-upgrading existing shares.
+
+
+== New Experimental Features ==
+  * The pure Rust version of Mercurial called `rhg` added support for most common invocations of `hg status`. See `hg help rust.rhg` for details on how to try it out.
+  * `rhg` supports narrow clones and sparse checkouts.
+
+== Bug Fixes ==
+
+  * '''Obsolete revisions are skipped while computing heads. In conjunction with the `evolve` extension >= 10.5.0, this leads to massive exchange (push/pull) speedups in repositories with a lot of heads and/or obsolete revisions.'''
+  * Stream-clones now properly advertise all requirements needed. This can result in the stream-clone feature being disabled for some clients using < 6.0.2. A small bugfix patch for these older client is available if necessary.
+  * The `--no-check` and `--no-merge` flags now properly overwrite the behavior from `commands.update.check`
+  * `rhg`'s fallback detection is more robust in general in the presence of more advanced configs
+  * `rhg`'s `blackbox` now supports milliseconds by default and uses the same ISO 8601 format as the Python implementation
+  * Fix `rhg` crash on non-generaldelta revlogs
+  * The `lfs`, `largefiles` and `sparse` extensions now correctly take the appropriate lock before writing requirements 
+  * The `notify` extension does not produce errors anymore if a revision is not found
+  * Remove unnecessary and overly strict check for divergence in `hg fix`
+  * Windows compatibility improvements
+  * Miscellaneous Python 3 and typing improvements
+  * Many other small or internal fixes
+
+== Backwards Compatibility Changes ==
+
+  * The use of `share-safe`, means shares (of new repositories) will also use their main repository's configuration see the `Default Format Change` section for details.
+  * The fix to stream-clone requirements advertising means some requirements previously (wrongly) omitted are now sent. This can confuse client using a Mercurial version < 6.0.2. The client would consider these requirements unsupported even if it actually know them. If you encounter this, either upgrade your client or apply the necessary patch.
+  * The labels passed to merge tools have changed slightly. Merge tools can get labels passed to them if you include `$labellocal`, `$labelbase`, and/or `$labelother` in the `merge-tool.<tool name>.args` configuration. These labels used to have some space-padding, and truncation to fit within 72 columns. Both the padding and the truncation has been removed.
+  * Some of the text in labels passed to merge tools has changed. For example, in conflicts while running `hg histedit`, the labels used to be "local", "base", and "histedit". They are now "already edited", "parent of current change", and "current change", respectively.
+  * The computation of namedbranch heads now ignores obsolete revisions. User of the Changeset Evolution feature may see a change in location and numbers of heads of each named branches (and topic).
+  * The remotefilelog extension now requires an appropriate excludepattern for subrepositories.
+  * `debugsparse`'s interface has been reworked to be more flexible. Since it's a debug command it is not actually a breaking change, but it is worth noting here.
+  * Temporary files for merges are now all inside a `hgmerge` directory instead of at the root of `TMPDIR`. The corresponding experimental `mergetempdirprefix` config option has been removed.
+
+== Internal API Changes ==
+
+  * The dirstate API received minor modifications.
+
+== Miscellaneous ==
+
+  * Removed exchange-v2. It was a prototype that had never been in a working state and had been left untouched since 2017.
--- a/relnotes/next	Mon Feb 21 12:03:57 2022 +0100
+++ b/relnotes/next	Tue Mar 01 16:44:59 2022 +0100
@@ -1,48 +1,18 @@
+= Mercurial XXX =
+
 == New Features ==
 
-
 == Default Format Change ==
 
-These changes affects newly created repositories (or new clone) done with
-Mercurial 6.1.
-
-The `share-safe` format variant is now enabled by default. It makes
-configuration and requirements more consistent across repository and their
-shares. This introduces a behavior change as shares from a repository using the
-new format will also use their main repository's configuration.
-
-See `hg help config.format.use-share-safe` for details about the feature and
-the available options for auto-upgrading existing shares.
-
+These changes affect newly created repositories (or new clones) done with
+Mercurial XXX.
 
 == New Experimental Features ==
 
 == Bug Fixes ==
 
-The `--no-check` and `--no-merge` now properly overwrite the behavior from `commands.update.check`.
-
 == Backwards Compatibility Changes ==
 
-The remotefilelog extension now requires an appropiate excludepattern
-for subrepositories.
-
-The labels passed to merge tools have changed slightly. Merge tools can get
-labels passed to them if you include `$labellocal`, `$labelbase`, and/or
-`$labelother` in the `merge-tool.<tool name>.args` configuration. These labels
-used to have some space-padding, and truncation to fit within 72 columns. Both
-the padding and the truncation has been removed.
-
-Some of the text in labels passed to merge tools has changed. For example,
-in conflicts while running `hg histedit`, the labels used to be "local",
-"base", and "histedit". They are now "already edited",
-"parent of current change", and "current change", respectively.
-
-The use of `share-safe`, means shares (of new repositories) will also use their
-main repository's configuration see the `Default Format Change` section
-for details.
-
 == Internal API Changes ==
 
-The following functions have been removed:
-
-Miscellaneous:
+== Miscellaneous ==
--- a/tests/test-clone-stream-format.t	Mon Feb 21 12:03:57 2022 +0100
+++ b/tests/test-clone-stream-format.t	Tue Mar 01 16:44:59 2022 +0100
@@ -93,9 +93,14 @@
   $ cd ..
 
 
+#if no-windows
+
 Test streaming from/to repository without a store:
 ==================================================
 
+This is skipped Windows needs dot-encode to handle some of the file in this
+tests, and dot-encode need the store enabled.
+
   $ hg clone --pull --config format.usestore=no server server-no-store
   requesting all changes
   adding changesets
@@ -149,12 +154,14 @@
 
 
   $ killdaemons.py
+  $ rm hg-*.pid errors-*.txt
+
+#endif
 
 
 Test streaming from/to repository without a fncache
 ===================================================
 
-  $ rm hg-*.pid errors-*.txt
   $ hg clone --pull --config format.usefncache=no server server-no-fncache
   requesting all changes
   adding changesets
--- a/tests/test-merge-tools.t	Mon Feb 21 12:03:57 2022 +0100
+++ b/tests/test-merge-tools.t	Tue Mar 01 16:44:59 2022 +0100
@@ -1592,7 +1592,8 @@
   arg: "ll:working copy"
   arg: "lo:"
   arg: "merge rev"
-  arg: "lb:common ancestor: */f~base" (glob)
+  arg: "lb:common ancestor*/f~base" (glob) (no-windows !)
+  arg: "lb:common ancestor*\f~base" (glob) (windows !)
   0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
   $ rm -f 'printargs_merge_tool'
@@ -1622,7 +1623,8 @@
   arg: "ll:working copy: tooltmpl ef83787e2614"
   arg: "lo:"
   arg: "merge rev: tooltmpl 0185f4e0cf02"
-  arg: "lb:common ancestor: */f~base" (glob)
+  arg: "lb:common ancestor*/f~base" (glob) (no-windows !)
+  arg: "lb:common ancestor*\f~base" (glob) (windows !)
   0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
   $ rm -f 'printargs_merge_tool'
--- a/tests/test-status-tracked-key.t	Mon Feb 21 12:03:57 2022 +0100
+++ b/tests/test-status-tracked-key.t	Tue Mar 01 16:44:59 2022 +0100
@@ -182,7 +182,7 @@
   no revlogs to process
   
   $ ls -1 .hg/dirstate-tracked-hint
-  ls: cannot access '.hg/dirstate-tracked-hint': $ENOENT$
+  ls: *.hg/dirstate-tracked-hint*: $ENOENT$ (glob)
   [2]
   $ hg debugrequires | grep 'tracked'
   [1]