D12213: rhg: simplify the handling of share-safe config mismatch

2022-02-21 Thread aalekseyev (Arseniy Alekseyev)
aalekseyev created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D12213

AFFECTED FILES
  rust/hg-core/src/repo.rs

CHANGE DETAILS

diff --git a/rust/hg-core/src/repo.rs b/rust/hg-core/src/repo.rs
--- a/rust/hg-core/src/repo.rs
+++ b/rust/hg-core/src/repo.rs
@@ -6,7 +6,6 @@
 use crate::dirstate_tree::owning::OwningDirstateMap;
 use crate::errors::HgResultExt;
 use crate::errors::{HgError, IoResultExt};
-use crate::exit_codes;
 use crate::lock::{try_with_lock_no_wait, LockError};
 use crate::manifest::{Manifest, Manifestlog};
 use crate::revlog::filelog::Filelog;
@@ -160,31 +159,8 @@
 requirements::load(Vfs { base: &shared_path })?
 .contains(requirements::SHARESAFE_REQUIREMENT);
 
-if share_safe && !source_is_share_safe {
-return Err(match config
-.get(b"share", b"safe-mismatch.source-not-safe")
-{
-Some(b"abort") | None => HgError::abort(
-"abort: share source does not support share-safe 
requirement\n\
-(see `hg help config.format.use-share-safe` for more 
information)",
-exit_codes::ABORT,
-),
-_ => HgError::unsupported("share-safe downgrade"),
-}
-.into());
-} else if source_is_share_safe && !share_safe {
-return Err(
-match config.get(b"share", b"safe-mismatch.source-safe") {
-Some(b"abort") | None => HgError::abort(
-"abort: version mismatch: source uses share-safe \
-functionality while the current share does not\n\
-(see `hg help config.format.use-share-safe` for 
more information)",
-exit_codes::ABORT,
-),
-_ => HgError::unsupported("share-safe upgrade"),
-}
-.into(),
-);
+if share_safe != source_is_share_safe {
+return Err(HgError::unsupported("share-safe mismatch").into());
 }
 
 if share_safe {



To: aalekseyev, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D6635: rust-utils: add docstrings and doctests for utils.rs

2022-02-21 Thread ThomasKenny (Thomas Kenny)
Herald added a subscriber: mercurial-patches.
ThomasKenny added a comment.


  I have been looking for a platform online where they have services 
specifically for playing games and this one was an epic choice. I will really 
appreciate if you guys could help me out in understanding the work ethics of 
professional college essay writers 

 by recommending some platforms. Will really be grateful to you guys!

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D6635/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D6635

To: Alphare, #hg-reviewers
Cc: mercurial-patches, ThomasKenny, durin42, kevincox, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


pycompat.py strategy

2022-02-21 Thread Gregory Szorc
I'm ~100 patches deep into purging Python 2 from the main repo. (I think
I'll hold off submitting them until 6.1 is out the door.)

Much of the Python 2 deletion work is trivial. But one question that isn't
trivial is what to do with pycompat.py.

Some options:

a) Attempt to delete as much as pycompat.py as possible (leaving only the
pieces needed to abstract over differences in Python 3.5-3.x).
b) Leave the ~complete API provided by pycompat.py and delete pycompat
usage within the repo as much as possible.
c) Leave the ~complete API provided by pycompat.py and still use pycompat
heavily within the repo.

In my series, I'm going with "b" because after deletion of Python 2, many
of the abstractions in Python 2 no longer make much sense and their
presence doesn't accomplish much except confuse people through extra
indirection. Things like pycompat.iteritems() (which is just a proxy to
.items()) don't serve any purpose any more and IMO shouldn't be used.

Other parts of pycompat are harder to delete. e.g. strkwargs() and
byteskwargs() are used pretty heavily and form an API contract. So I
anticipate we'll be living with them for a while.

As much as I would like to delete APIs from pycompat.py entirely, I think
we should keep them around so extensions have a stable API to manage the
Python 2 -> 3 and <=6.1 to >6.1 migrations. However, I think we should
establish a schedule for marking them as deprecated and deleting them. This
schedule should be independent of their usage within the repo, as the two
decisions are separate.

Thoughts?
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[PATCH 1 of 3 WEBSITE] Remove mention of Olivia in the repo links

2022-02-21 Thread Raphaël Gomès
# HG changeset patch
# User Raphaël Gomès 
# Date 1645464439 -3600
#  Mon Feb 21 18:27:19 2022 +0100
# Node ID fb14976f16cade0eb50b00a4f2065666cedab226
# Parent  5284da57c604bc5a36ac74b36001ce3d6e0be1d3
# EXP-Topic python2-nuke
Remove mention of Olivia in the repo links

diff -r 5284da57c604 -r fb14976f16ca templates/downloads/index.html
--- a/templates/downloads/index.htmlMon Oct 26 14:55:33 2020 +0100
+++ b/templates/downloads/index.htmlMon Feb 21 18:27:19 2022 +0100
@@ -48,11 +48,10 @@
 Development Repositories
 
   Main
-  The main development repository of the Mercurial maintainer
-  https://www.mercurial-scm.org/wiki/mpm";>Matt Mackall
+  The main development repository
   can be found at https://www.mercurial-scm.org/repo/hg";>
   https://www.mercurial-scm.org/repo/hg.
-  Committers
+  Drafts
   The development repository of the Mercurial core contributors
   can be found at
   https://www.mercurial-scm.org/repo/hg-committed/";>
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[PATCH 3 of 3 WEBSITE] Add mention of the last version to support Python 2

2022-02-21 Thread Raphaël Gomès
# HG changeset patch
# User Raphaël Gomès 
# Date 1645464575 -3600
#  Mon Feb 21 18:29:35 2022 +0100
# Node ID a5d9e2ac253a5566579cf5fd481a014ab414b979
# Parent  a2108539f22be784bf7d7a192228589e88f3a81e
# EXP-Topic python2-nuke
Add mention of the last version to support Python 2

This version will not exist until ~March 1st, so we may want to hold off
on getting this patch through.

diff -r a2108539f22b -r a5d9e2ac253a templates/downloads/index.html
--- a/templates/downloads/index.htmlMon Feb 21 18:28:23 2022 +0100
+++ b/templates/downloads/index.htmlMon Feb 21 18:29:35 2022 +0100
@@ -77,6 +77,11 @@
   For more information about version support, see
   https://www.mercurial-scm.org/wiki/SupportedPythonVersions";>Supported
   Python Versions on the wiki.
+  Python 2.7
+  Mercurial 6.1
+  is the last release to support Python 2. Use this if you need
+  to run Mercurial on old platforms and you cannot update your
+  Python installation.
   Python 2.6
   Mercurial 4.2.3
   is the last release to support Python 2.6. Use this if you need
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[PATCH 2 of 3 WEBSITE] Say that we use Python 3, it's been a while now

2022-02-21 Thread Raphaël Gomès
# HG changeset patch
# User Raphaël Gomès 
# Date 1645464503 -3600
#  Mon Feb 21 18:28:23 2022 +0100
# Node ID a2108539f22be784bf7d7a192228589e88f3a81e
# Parent  fb14976f16cade0eb50b00a4f2065666cedab226
# EXP-Topic python2-nuke
Say that we use Python 3, it's been a while now

diff -r fb14976f16ca -r a2108539f22b templates/downloads/index.html
--- a/templates/downloads/index.htmlMon Feb 21 18:27:19 2022 +0100
+++ b/templates/downloads/index.htmlMon Feb 21 18:28:23 2022 +0100
@@ -65,7 +65,7 @@
 
   Python
   Mercurial uses https://www.python.org";>Python
-  (version 2.7). Most ready-to-run Mercurial
+  (version 3.5+). Most ready-to-run Mercurial
   distributions include Python or use the Python that comes
   with your operating system.
   
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D12212: revlog: use rust rank computation if available

2022-02-21 Thread pacien (Pacien)
pacien created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D12212

AFFECTED FILES
  mercurial/revlog.py

CHANGE DETAILS

diff --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -2471,9 +2471,12 @@
 elif p1r == nullrev and p2r != nullrev:
 rank = 1 + self.fast_rank(p2r)
 else:  # merge node
-pmin, pmax = sorted((p1r, p2r))
-rank = 1 + self.fast_rank(pmax)
-rank += sum(1 for _ in self.findmissingrevs([pmax], [pmin]))
+if rustdagop is not None and self.index.rust_ext_compat:
+rank = rustdagop.rank(self.index, p1r, p2r)
+else:
+pmin, pmax = sorted((p1r, p2r))
+rank = 1 + self.fast_rank(pmax)
+rank += sum(1 for _ in self.findmissingrevs([pmax], 
[pmin]))
 
 e = revlogutils.entry(
 flags=flags,



To: pacien, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D12209: revlog: implement fast_rank retrieval in C

2022-02-21 Thread pacien (Pacien)
pacien created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  This will be useful in particular to avoid going through the Python 
interpreter
  in native Rust functions.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D12209

AFFECTED FILES
  mercurial/cext/revlog.c
  rust/hg-cpython/src/cindex.rs

CHANGE DETAILS

diff --git a/rust/hg-cpython/src/cindex.rs b/rust/hg-cpython/src/cindex.rs
--- a/rust/hg-cpython/src/cindex.rs
+++ b/rust/hg-cpython/src/cindex.rs
@@ -29,6 +29,10 @@
 index: *mut revlog_capi::RawPyObject,
 rev: ssize_t,
 ) -> *const Node,
+fast_rank: unsafe extern "C" fn(
+index: *mut revlog_capi::RawPyObject,
+rev: ssize_t,
+) -> ssize_t,
 index_parents: unsafe extern "C" fn(
 index: *mut revlog_capi::RawPyObject,
 rev: c_int,
diff --git a/mercurial/cext/revlog.c b/mercurial/cext/revlog.c
--- a/mercurial/cext/revlog.c
+++ b/mercurial/cext/revlog.c
@@ -43,6 +43,7 @@
int abi_version;
Py_ssize_t (*index_length)(const indexObject *);
const char *(*index_node)(indexObject *, Py_ssize_t);
+   int (*fast_rank)(indexObject *, Py_ssize_t);
int (*index_parents)(PyObject *, int, int *);
 } Revlog_CAPI;
 
@@ -576,6 +577,32 @@
 }
 
 /*
+ * Return the stored rank of a given revision if known, or rank_unknown
+ * otherwise.
+ *
+ * The rank of a revision is the size of the sub-graph it defines as a head.
+ * Equivalently, the rank of a revision `r` is the size of the set
+ * `ancestors(r)`, `r` included.
+ *
+ * This method returns the rank retrieved from the revlog in constant time. It
+ * makes no attempt at computing unknown values for versions of the revlog
+ * which do not persist the rank.
+ */
+static int index_fast_rank(indexObject *self, Py_ssize_t pos)
+{
+   Py_ssize_t length = index_length(self);
+   int rank;
+
+   if (self->format_version != format_cl2 || pos >= length)
+   return rank_unknown;
+
+   if (pos == nullrev)
+   return 0; /* convention */
+
+   return *(index_deref(self, pos) + entry_cl2_offset_rank);
+}
+
+/*
  * Return the hash of the node corresponding to the given rev. The
  * rev is assumed to be existing. If not, an exception is set.
  */
@@ -3266,10 +3293,7 @@
 static Revlog_CAPI CAPI = {
 /* increment the abi_version field upon each change in the Revlog_CAPI
struct or in the ABI of the listed functions */
-2,
-index_length,
-index_node,
-HgRevlogIndex_GetParents,
+2, index_length, index_node, index_fast_rank, HgRevlogIndex_GetParents,
 };
 
 void revlog_module_init(PyObject *mod)



To: pacien, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D12208: revlog: return 0 for the fast_rank of nullrev

2022-02-21 Thread pacien (Pacien)
pacien created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  By convention, the rank of the null revision is 0. This particular revision is
  never "physically" stored in the changelog, so it is a special case.
  
  For consistency, the value `None` is still being returned for revlogs which do
  not store the fast_rank property for any revision.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D12208

AFFECTED FILES
  mercurial/revlog.py

CHANGE DETAILS

diff --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -869,8 +869,10 @@
 the revlog which do not persist the rank.
 """
 rank = self.index[rev][ENTRY_RANK]
-if rank == RANK_UNKNOWN:
+if self._format_version != CHANGELOGV2 or rank == RANK_UNKNOWN:
 return None
+if rev == nullrev:
+return 0  # convention
 return rank
 
 def chainbase(self, rev):



To: pacien, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D12211: rust: expose rank computation function to python

2022-02-21 Thread pacien (Pacien)
pacien created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D12211

AFFECTED FILES
  rust/hg-cpython/src/dagops.rs

CHANGE DETAILS

diff --git a/rust/hg-cpython/src/dagops.rs b/rust/hg-cpython/src/dagops.rs
--- a/rust/hg-cpython/src/dagops.rs
+++ b/rust/hg-cpython/src/dagops.rs
@@ -14,6 +14,8 @@
 use hg::dagops;
 use hg::Revision;
 use std::collections::HashSet;
+use vcsgraph::ancestors::node_rank;
+use vcsgraph::graph::{Parents, Rank};
 
 use crate::revlog::pyindex_to_graph;
 
@@ -31,6 +33,18 @@
 Ok(as_set)
 }
 
+/// Computes the rank, i.e. the number of ancestors including itself,
+/// of a node represented by its parents.
+pub fn rank(
+py: Python,
+index: PyObject,
+p1r: i32,
+p2r: i32,
+) -> PyResult {
+node_rank(&pyindex_to_graph(py, index)?, &Parents([p1r, p2r]))
+.map_err(|e| GraphError::pynew_from_vcsgraph(py, e))
+}
+
 /// Create the module, with `__package__` given from parent
 pub fn init_module(py: Python, package: &str) -> PyResult {
 let dotted_name = &format!("{}.dagop", package);
@@ -42,6 +56,11 @@
 "headrevs",
 py_fn!(py, headrevs(index: PyObject, revs: PyObject)),
 )?;
+m.add(
+py,
+"rank",
+py_fn!(py, rank(index: PyObject, p1r: i32, p2r: i32)),
+)?;
 
 let sys = PyModule::import(py, "sys")?;
 let sys_modules: PyDict = sys.get(py, "modules")?.extract(py)?;



To: pacien, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D12210: rust: implement vcsgraph::RankedGraph for Index

2022-02-21 Thread pacien (Pacien)
pacien created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D12210

AFFECTED FILES
  rust/hg-cpython/src/cindex.rs

CHANGE DETAILS

diff --git a/rust/hg-cpython/src/cindex.rs b/rust/hg-cpython/src/cindex.rs
--- a/rust/hg-cpython/src/cindex.rs
+++ b/rust/hg-cpython/src/cindex.rs
@@ -177,6 +177,20 @@
 }
 }
 
+impl vcsgraph::graph::RankedGraph for Index {
+fn rank(
+&self,
+rev: Revision,
+) -> Result {
+match unsafe {
+(self.capi.fast_rank)(self.index.as_ptr(), rev as ssize_t)
+} {
+-1 => Err(vcsgraph::graph::GraphReadError::InconsistentGraphData),
+rank => Ok(rank as usize),
+}
+}
+}
+
 impl RevlogIndex for Index {
 /// Note C return type is Py_ssize_t (hence signed), but we shall
 /// force it to unsigned, because it's a length



To: pacien, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D12207: zstd: hack include order to ensure that our zstd.h is found

2022-02-21 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  If the regular Python CFLAGS include directories that already have the
  zstd headers available, a different and possible incompatible version
  can be picked up otherwise. Sadly, it seems like Python has no easy way
  to prefix flags before the rest.

REPOSITORY
  rHG Mercurial

BRANCH
  stable

REVISION DETAIL
  https://phab.mercurial-scm.org/D12207

AFFECTED FILES
  contrib/python-zstandard/setup_zstd.py

CHANGE DETAILS

diff --git a/contrib/python-zstandard/setup_zstd.py 
b/contrib/python-zstandard/setup_zstd.py
--- a/contrib/python-zstandard/setup_zstd.py
+++ b/contrib/python-zstandard/setup_zstd.py
@@ -145,9 +145,17 @@
 
 include_dirs = set([os.path.join(actual_root, d) for d in ext_includes])
 if not system_zstd:
-include_dirs.update(
-[os.path.join(actual_root, d) for d in zstd_includes]
-)
+from distutils import sysconfig
+try:
+from shlex import quote
+except ImportError:
+from pipes import quote
+includes = []
+for incdir in [os.path.join(actual_root, d) for d in zstd_includes]:
+   includes.append('-I' + quote(incdir))
+   include_dirs.add(incdir)
+config_vars = sysconfig.get_config_vars()
+config_vars['CFLAGS'] = ' '.join(includes + [config_vars.get('CFLAGS', 
'')])
 if support_legacy:
 include_dirs.update(
 [os.path.join(actual_root, d) for d in zstd_includes_legacy]



To: joerg.sonnenberger, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D12206: heptapod-ci: remove Python 2 support

2022-02-21 Thread Raphaël Gomès
Alphare created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  (hurray!) 6.1 was the last release to support Python 2, let's lighten
  the CI.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D12206

AFFECTED FILES
  contrib/heptapod-ci.yml

CHANGE DETAILS

diff --git a/contrib/heptapod-ci.yml b/contrib/heptapod-ci.yml
--- a/contrib/heptapod-ci.yml
+++ b/contrib/heptapod-ci.yml
@@ -30,24 +30,12 @@
 - echo "$RUNTEST_ARGS"
 - HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" 
HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py 
--color=always $RUNTEST_ARGS
 
-checks-py2:
-<<: *runtests
-variables:
-RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
-
 checks-py3:
 <<: *runtests
 variables:
 RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
 PYTHON: python3
 
-rust-cargo-test-py2: &rust_cargo_test
-<<: *all
-stage: tests
-script:
-- echo "python used, $PYTHON"
-- make rust-tests
-
 rust-cargo-test-py3:
 stage: tests
 <<: *rust_cargo_test
@@ -72,13 +60,6 @@
 ./contrib/phab-refresh-stack.sh --comment "$DEFAULT_COMMENT";
 fi
 
-test-py2:
-<<: *runtests
-variables:
-RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
-TEST_HGMODULEPOLICY: "c"
-TEST_HGTESTS_ALLOW_NETIO: "1"
-
 test-py3:
 <<: *runtests
 variables:
@@ -87,12 +68,6 @@
 TEST_HGMODULEPOLICY: "c"
 TEST_HGTESTS_ALLOW_NETIO: "1"
 
-test-py2-pure:
-<<: *runtests
-variables:
-RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
-TEST_HGMODULEPOLICY: "py"
-
 test-py3-pure:
 <<: *runtests
 variables:
@@ -100,13 +75,6 @@
 PYTHON: python3
 TEST_HGMODULEPOLICY: "py"
 
-test-py2-rust:
-<<: *runtests
-variables:
-HGWITHRUSTEXT: cpython
-RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
-TEST_HGMODULEPOLICY: "rust+c"
-
 test-py3-rust:
 <<: *runtests
 variables:
@@ -123,12 +91,6 @@
 PYTHON: python3
 TEST_HGMODULEPOLICY: "rust+c"
 
-test-py2-chg:
-<<: *runtests
-variables:
-RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
-TEST_HGMODULEPOLICY: "c"
-
 test-py3-chg:
 <<: *runtests
 variables:



To: Alphare, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D12205: relnotes: add 6.1

2022-02-21 Thread Raphaël Gomès
Alphare created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REPOSITORY
  rHG Mercurial

BRANCH
  stable

REVISION DETAIL
  https://phab.mercurial-scm.org/D12205

AFFECTED FILES
  relnotes/6.1
  relnotes/next

CHANGE DETAILS

diff --git a/relnotes/next b/relnotes/next
--- a/relnotes/next
+++ b/relnotes/next
@@ -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..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 ==
diff --git a/relnotes/6.1 b/relnotes/6.1
new file mode 100644
--- /dev/null
+++ b/relnotes/6.1
@@ -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

D12204: relnotes: add 6.0.3

2022-02-21 Thread Raphaël Gomès
Alphare created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REPOSITORY
  rHG Mercurial

BRANCH
  stable

REVISION DETAIL
  https://phab.mercurial-scm.org/D12204

AFFECTED FILES
  relnotes/6.0

CHANGE DETAILS

diff --git a/relnotes/6.0 b/relnotes/6.0
--- a/relnotes/6.0
+++ b/relnotes/6.0
@@ -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



To: Alphare, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel