Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mercurial for openSUSE:Factory 
checked in at 2025-09-14 18:49:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mercurial (Old)
 and      /work/SRC/openSUSE:Factory/.mercurial.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mercurial"

Sun Sep 14 18:49:10 2025 rev:217 rq:1304286 version:7.1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/mercurial/mercurial.changes      2025-08-06 
14:32:39.722451860 +0200
+++ /work/SRC/openSUSE:Factory/.mercurial.new.1977/mercurial.changes    
2025-09-14 18:49:34.512587324 +0200
@@ -1,0 +2,54 @@
+Fri Sep 12 09:47:22 UTC 2025 - Sean Baggaley <[email protected]>
+
+- Mercurial 7.1.1
+
+  A scheduled minor release containing only one series that is relevant for
+  these notes.
+  
+  The series fixes the way we detect non-critical repository corruption due to
+  issue6528 because, unfortunately, the fix for issue6528 was itself buggy.
+  
+  This means that if your repo had the on-the-fly rewrite option on
+  (which is the default), too many file revisions will have been marked
+  as having metadata, potentially costing you a bit of performance
+  because Mercurial will look for metadata that isn't there.
+  
+  **Your repository will behave completely fine by not doing anything**, and we
+  even have work well underway that changes how we flag file revisions
+  with metadata, removing the root of this problem entirely.
+  
+  If you want to fix this however, as with the original issue, this problem is
+  contagious across the wire so you need to first upgrade to 7.1.1 to get the
+  correct on-the-fly rewrite, and then run the `hg debug-repair-issue6528` 
command
+  to repair your clone. Consult the help of this command for more options.
+  
+   * issue6528: fix the detection of metadata from delta
+   * issue6528: avoid creating an intermediate bytes object
+   * issue6528: don't process snapshot as patches
+   * issue6528: fix fast path detection of file with metadata
+   * issue6528: don't report the revision as affect if it just has me
+   * issue6528: factor out the parent checking
+   * issue6528: stop trusting repository parent order claiming metadata ex
+   * issue6528: add --paranoid flag to various call
+   * issue6528: simplify code flow in _is_revision_affected_fast_inner
+   * issue6528: directly use delta_has_meta in _is_revision_affected_fast_inner
+
+-------------------------------------------------------------------
+Wed Sep 10 11:10:25 UTC 2025 - Sean Baggaley <[email protected]>
+
+- Restored the ability to run tests at package build time. 'osc build --with 
tests' works now.
+  Locale related tests also work now by temporarily pointing it to the 
location of the locale
+  files in the build environment.
+  Tests are still disabled by default, because they take a very long time to 
run, and are quiet
+  when running, so OBS often times out the build.
+  The Rust tests also run clippy which causes errors with the current version.
+
+-------------------------------------------------------------------
+Sat Sep  6 13:16:16 UTC 2025 - Sean Baggaley <[email protected]>
+
+- Package the Mercurial Rust features under the subpackage mercurial-rust.
+  This includes the Rust extensions for hg, and the standalone pure-Rust 
implementation, rhg.
+  These features are currently experimental and have caveats,
+  consult 'hg help rust' and the subpackage documentation before use.
+
+-------------------------------------------------------------------

Old:
----
  mercurial-7.1.tar.gz

New:
----
  _service
  mercurial-7.1.1.tar.gz
  vendor-rust.tar.zst

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mercurial.spec ++++++
--- /var/tmp/diff_new_pack.qh78lp/_old  2025-09-14 18:49:35.412625040 +0200
+++ /var/tmp/diff_new_pack.qh78lp/_new  2025-09-14 18:49:35.412625040 +0200
@@ -2,7 +2,6 @@
 # spec file for package mercurial
 #
 # Copyright (c) 2025 SUSE LLC and contributors
-# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -31,8 +30,14 @@
 %endif
 %endif
 
+%bcond_with tests
+
+%ifarch %{rust_arches}
+%bcond_without rust
+%endif
+
 Name:           mercurial
-Version:        7.1
+Version:        7.1.1
 Release:        0
 Summary:        Scalable Distributed SCM
 License:        GPL-2.0-or-later
@@ -61,16 +66,15 @@
 %else
 Requires:       ca-certificates
 %endif
-%if 0%{?with_tests}
+%if %{with tests}
 Source90:       tests.blacklist
 BuildRequires:  %{python_module Pygments}
-BuildRequires:  bzr
+BuildRequires:  breezy
 BuildRequires:  git
 BuildRequires:  gpg
 BuildRequires:  ncurses-devel
 BuildRequires:  subversion-python
 BuildRequires:  unzip
-#BuildRequires:  python-pyflakes
 %endif
 
 %description
@@ -79,6 +83,34 @@
 
 %lang_package
 
+%if %{with rust}
+%package rust
+Summary:        Rust extensions for Mercurial
+Requires:       %{name} = %{version}
+BuildRequires:  cargo
+BuildRequires:  cargo-packaging
+Source80:       vendor-rust.tar.zst
+
+%description rust
+Mercurial is a fast, lightweight source control management system
+designed for efficient handling of very large distributed projects.
+
+This package contains Rust-based features for Mercurial:
+- hg-core (and hg-pyo3): implementation of some
+  functionality of mercurial in Rust, e.g. ancestry computations in
+  revision graphs, status or pull discovery.
+- rhg: a pure Rust implementation of Mercurial, with a fallback mechanism for
+  unsupported invocations. It reuses the logic `hg-core` but
+  completely forgoes interaction with Python.
+
+These features are varying degrees of experimental and come with caveats.
+See 'hg help rust' (accessible without this package)
+or the documentation files in this package for more information.
+
+Installing this package will enable the Rust extensions for hg immediately.
+rhg is its own separate program.
+%endif
+
 %package tests
 Summary:        Mercurial tests
 Group:          Development/Tools/Version Control
@@ -98,12 +130,22 @@
 
 find . -type f -exec sed -i -e '1{/#!/s/env //}' '{}' \;
 
+%if %{with rust}
+%setup -q -a 80
+%endif
+
 chmod 644 hgweb.cgi
 
 %build
 %pyproject_wheel
 %make_build -C contrib/chg all
 
+%if %{with rust}
+pushd rust
+%cargo_build
+popd
+%endif
+
 %install
 %pyproject_install
 %make_build -C doc install PREFIX="%{_prefix}" DESTDIR=%{buildroot} 
PYTHON=%{expand:%%__%{pythons}}
@@ -128,9 +170,27 @@
 mkdir -p %{buildroot}%{_datadir}/mercurial
 cp -a tests/. %{buildroot}%{_datadir}/mercurial/tests
 
-%if 0%{?with_tests}
+%if %{with rust}
+# set modulepolicy that would usually be set by setup.py
+echo 'modulepolicy = b"rust+c-allow"' > 
%{buildroot}%{python_sitearch}/mercurial/__modulepolicy__.py
+
+# workaround cargo-packaging < 1.3.0 not setting CARGO_TARGET_DIR and 
outputting to ./rust/target
+mv rust/target . || true
+
+install -m0755 target/release/rhg %{buildroot}%{_bindir}
+install -m0755 target/release/librusthgpyo3.so 
%{buildroot}%{python_sitearch}/mercurial/pyo3_rustext.so
+%endif
+
+%if %{with tests}
 %check
-%make_build tests TESTFLAGS="-v --blacklist=%{SOURCE90}" 
PYTHON=%{expand:%%__%{pythons}}
+# need to temporarily override the locale path to within buildroot to get
+# i18n-related tests to succeed in the build env
+cp %{buildroot}%{python_sitearch}/mercurial/i18n.py i18n.py.bak
+sed -i 's!/usr/share/locale!%{buildroot}/usr/share/locale!' 
%{buildroot}%{python_sitearch}/mercurial/i18n.py
+
+%make_build tests TESTFLAGS="-v --with-hg=%{buildroot}%{_bindir}/hg 
--blacklist=%{SOURCE90}" PYTHON=%{expand:%%__%{pythons}} 
PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}%{buildroot}%{python3_sitearch}
+
+mv i18n.py.bak %{buildroot}%{python_sitearch}/mercurial/i18n.py
 %endif
 
 %files lang -f hg.lang
@@ -139,10 +199,19 @@
 %dir %{_datadir}/mercurial
 %{_datadir}/mercurial/tests
 
+%if %{with rust}
+%files rust
+%{_bindir}/rhg
+%{python_sitearch}/mercurial/pyo3_rustext.so
+%doc rust/rhg/README.md
+%endif
+
 %files
 %license COPYING
 %doc README.rst CONTRIBUTORS hgweb.cgi
-%{_bindir}/*
+%{_bindir}/hg
+%{_bindir}/hgk
+%{_bindir}/chg
 %{_datadir}/bash-completion/completions/*
 %{_datadir}/zsh/
 %dir %{_sysconfdir}/mercurial
@@ -162,3 +231,7 @@
 %{python_sitearch}/mercurial
 %{python_sitearch}/mercurial-%{version}*-info
 
+%if %{with rust}
+%exclude %{python_sitearch}/mercurial/pyo3_rustext.so
+%endif
+

++++++ _service ++++++
<services>
  <service name="cargo_vendor" mode="manual">
    <param name="src">mercurial-*.tar.gz</param>
    <param name="custom-root">rust</param>
    <param name="compression">zst</param>
    <param name="update">true</param>
    <param name="tag">rust</param>
  </service>
</services>

++++++ mercurial-7.1.tar.gz -> mercurial-7.1.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/mercurial/mercurial-7.1.tar.gz 
/work/SRC/openSUSE:Factory/.mercurial.new.1977/mercurial-7.1.1.tar.gz differ: 
char 5, line 1

++++++ tests.blacklist ++++++
--- /var/tmp/diff_new_pack.qh78lp/_old  2025-09-14 18:49:35.524629734 +0200
+++ /var/tmp/diff_new_pack.qh78lp/_new  2025-09-14 18:49:35.540630404 +0200
@@ -1,3 +1,7 @@
-test-i18n.t
 test-status-color.t
+test-convert-svn-encoding.t
+# want internet access
+test-run-tests.t
+test-hghave.t
+
 

Reply via email to