On 27. 6. 25 12:00, Daniel Sahlberg wrote:
Den sön 8 juni 2025 kl 16:46 skrev Nathan Hartman <hartman.nat...@gmail.com>:

    On Tue, May 20, 2025 at 8:32 AM <br...@apache.org> wrote:

        Author: brane
        Date: Tue May 20 12:32:49 2025
        New Revision: 1925717

        URL: http://svn.apache.org/viewvc?rev=1925717&view=rev
        <http://svn.apache.org/viewvc?rev=1925717&view=rev>
        Log:
        Add support for verifying the svn command's XML output against
        the Relax NG
        schemas that are defined in ./subversion/svn/schema. We use
        lxml.etree.

        * subversion/tests/cmdline/svntest/main.py: Import venv.
          (venv_bin, venv_dir, SVN_TESTS_REQUIRE,
        dependencies_ensured: New globals.
          (ensure_dependencies): Create a Python virtual environment
        in the test
           working directory, install the dependencies and update
        sys.path.
          (run_tests): Call ensure_dependencies().
        * subversion/tests/cmdline/svntest/verify.py:
           Import os but not sys, io.BytesIO and typing.Iterable.
          (SVNXMLSchemaValidationError): New exception type.
          (validate_xml_schema): Validate the XML output of 'svn'
        against a schema.
        * subversion/tests/cmdline/svntest/actions.py
          (run_and_verify_svn_xml, run_and_verify_svn_xml2): New
        functions that
           run XML validation.
        * subversion/tests/cmdline/blame_tests.py,
          subversion/tests/cmdline/log_tests.py: Add XML validation
        * build/run_tests.py
          (TestHarness._init_py_tests): Update PYTHONPATH to point at
        the virtualenv.


    This:


        * Makefile.in (check): No, Python 2.7 is no longer required.


    and...

        Modified:
            subversion/trunk/Makefile.in
            subversion/trunk/build/run_tests.py
        subversion/trunk/subversion/tests/cmdline/blame_tests.py
        subversion/trunk/subversion/tests/cmdline/log_tests.py
        subversion/trunk/subversion/tests/cmdline/svntest/actions.py
        subversion/trunk/subversion/tests/cmdline/svntest/main.py
        subversion/trunk/subversion/tests/cmdline/svntest/verify.py

        Modified: subversion/trunk/Makefile.in
        URL:
        
http://svn.apache.org/viewvc/subversion/trunk/Makefile.in?rev=1925717&r1=1925716&r2=1925717&view=diff
        
<http://svn.apache.org/viewvc/subversion/trunk/Makefile.in?rev=1925717&r1=1925716&r2=1925717&view=diff>
        
==============================================================================
        --- subversion/trunk/Makefile.in (original)
        +++ subversion/trunk/Makefile.in Tue May 20 12:32:49 2025
        @@ -645,7 +645,7 @@ check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $
                            $$flags                       \
                            '$(abs_srcdir)' '$(abs_builddir)'
        $(TESTS);              \
                else                        \


    ...this:

        -         echo "make check: Python 2.7 or greater is
        required,";             \
        +         echo "make check: Python 3.6 or greater is
        required,";             \
                  echo "            but was not detected during
        configure";          \
                  exit 1;                       \
                fi;


    So I guess that as of 1.15, we'll actively drop support for Python
    2.7.x?

    That could be a good thing. After all, Python 2.7 has been
    deprecated for more than 10 years and EOL since before 1.14.0.
    Removing support for Python 2.7 could help clean up and simplify
    the Python parts of our codebase.

    However, the impression I got from past discussions was that we
    should try not to break compatibility with 2.7 if practical.

    Perhaps it's time to revisit that? Should we just drop support for
    Python 2.7 everywhere? Are there systems in use out there that are
    still stuck with Python 2.7? Are there enough of them to justify
    the extra efforts needed to support them?


I'm +1 to drop support for Py2. Of course, someone would need to put in the work to clear out a lot of stuff...

There's no need to clear anything as long as it works. A couple weeks ago I tried to build with Python2 and it very much does not work, and not only due to recent changes. The patch to go back would be huge. The patch to make things keep working with Python3 is exactly 0 lines.

-- Brane

Reply via email to