[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Merging branches/swig-py3 to trunk

From: Nathan Hartman <hartman.nathan_at_gmail.com>
Date: Wed, 27 Nov 2019 20:54:07 -0500

On Sat, Nov 23, 2019 at 12:38 AM Yasuhito FUTATSUKI <futatuki_at_poem.co.jp>
wrote:
> Perhaps it is necessary to check all Python scripts except those we
> use on build and release which are already checked.
>
> At least I found those in tools/server-side couldn't work on Python 3:
>
> tools/server-side/fsfs-reshared.py
> (try to write str object on binary mode stream in
> write_fs_format())
> tools/server-side/svn-backup-dumps.py
> (fixed in r1870204)
> tools/server-side/svnpredumpfilter.py
> (AttributeError: module 'string' has no attribute 'strip')
> tools/server-side/svn_server_log_parse.py
> (import svn.core, bytes vs str)
> tools/server-side/test_server_log_parse.py
> (import svn.core, bytes vs str)
>
> (I didn't check files in tools/server-side/svnpubsub)

FYI I have made a list of all our Python scripts, categorized in a
very *preliminary* manner into one of three categories:
* Python 3 supported
* Python 3 not supported yet
* Not checked yet

It is preliminary because I've based my categorization on recent
discussions. The intention is to test and then put each script into
the correct category.

Since there are many scripts, I'm trying to find the "best" automated
way to determine which are compatible with Python 3.

I would prefer a static analysis method because I don't necessarily
have a use-case to run every single script.

So far I have installed pylint3 and played with it a bit.

My preliminary list follows...

If anyone happens to know (off the top of their head) that my
categorization of a script is incorrect, please let me know.

Once the list seems correct, I'll file an issue to help us keep track
of progress, and link to it from the "Known Issues" section of the
1.14 release notes as discussed here some days ago...

List:

Python 3 Supported
==================

build/getversion.py
build/run_tests.py
build/transform_sql.py
build/generator/gen_win_dependencies.py
build/generator/gen_win.py
build/generator/gen_vcnet_vcproj.py
build/generator/swig/external_runtime.py
build/generator/swig/__init__.py
build/generator/swig/header_wrappers.py
build/generator/swig/checkout_swig_header.py
build/generator/util/__init__.py
build/generator/__init__.py
build/generator/extractor.py
build/generator/gen_make.py
build/generator/gen_base.py
build/generator/ezt.py
build/transform_config_hw.py
build/get-py-info.py
build/win32/make_dist.py
subversion/tests/cmdline/mod_authz_svn_tests.py
subversion/tests/cmdline/history_tests.py
subversion/tests/cmdline/dav_tests.py
subversion/tests/cmdline/input_validation_tests.py
subversion/tests/cmdline/log_tests.py
subversion/tests/cmdline/merge_automatic_tests.py
subversion/tests/cmdline/merge_reintegrate_tests.py
subversion/tests/cmdline/lock_tests.py
subversion/tests/cmdline/merge_tests.py
subversion/tests/cmdline/copy_tests.py
subversion/tests/cmdline/svnversion_tests.py
subversion/tests/cmdline/svneditor.py
subversion/tests/cmdline/basic_tests.py
subversion/tests/cmdline/svnlook_tests.py
subversion/tests/cmdline/prop_tests.py
subversion/tests/cmdline/merge_authz_tests.py
subversion/tests/cmdline/resolve_tests.py
subversion/tests/cmdline/revert_tests.py
subversion/tests/cmdline/svntest/tree.py
subversion/tests/cmdline/svntest/wc.py
subversion/tests/cmdline/svntest/testcase.py
subversion/tests/cmdline/svntest/actions.py
subversion/tests/cmdline/svntest/__init__.py
subversion/tests/cmdline/svntest/mergetrees.py
subversion/tests/cmdline/svntest/factory.py
subversion/tests/cmdline/svntest/deeptrees.py
subversion/tests/cmdline/svntest/sandbox.py
subversion/tests/cmdline/svntest/verify.py
subversion/tests/cmdline/svntest/objects.py
subversion/tests/cmdline/svntest/main.py
subversion/tests/cmdline/svntest/err.py
subversion/tests/cmdline/svnauthz_tests.py
subversion/tests/cmdline/schedule_tests.py
subversion/tests/cmdline/entries_tests.py
subversion/tests/cmdline/patch_tests.py
subversion/tests/cmdline/export_tests.py
subversion/tests/cmdline/iprop_tests.py
subversion/tests/cmdline/commit_tests.py
subversion/tests/cmdline/authz_tests.py
subversion/tests/cmdline/legacy/utf8_tests.py
subversion/tests/cmdline/move_tests.py
subversion/tests/cmdline/changelist_tests.py
subversion/tests/cmdline/mergeinfo_tests.py
subversion/tests/cmdline/redirect_tests.py
subversion/tests/cmdline/getopt_tests.py
subversion/tests/cmdline/shelf_tests.py
subversion/tests/cmdline/special_tests.py
subversion/tests/cmdline/svnsync_authz_tests.py
subversion/tests/cmdline/depth_tests.py
subversion/tests/cmdline/trans_tests.py
subversion/tests/cmdline/autoprop_tests.py
subversion/tests/cmdline/import_tests.py
subversion/tests/cmdline/merge_tree_conflict_tests.py
subversion/tests/cmdline/stat_tests.py
subversion/tests/cmdline/pegrev_parse_tests.py
subversion/tests/cmdline/svnrdump_tests.py
subversion/tests/cmdline/info_tests.py
subversion/tests/cmdline/switch_tests.py
subversion/tests/cmdline/externals_tests.py
subversion/tests/cmdline/svnadmin_tests.py
subversion/tests/cmdline/wc_tests.py
subversion/tests/cmdline/cat_tests.py
subversion/tests/cmdline/update_tests.py
subversion/tests/cmdline/mod_dav_svn_tests.py
subversion/tests/cmdline/upgrade_tests.py
subversion/tests/cmdline/iprop_authz_tests.py
subversion/tests/cmdline/blame_tests.py
subversion/tests/cmdline/svnmover_tests.py
subversion/tests/cmdline/svndumpfilter_tests.py
subversion/tests/cmdline/svnmucc_tests.py
subversion/tests/cmdline/svnfsfs_tests.py
subversion/tests/cmdline/svnsync_tests.py
subversion/tests/cmdline/tree_conflict_tests.py
subversion/tests/cmdline/checkout_tests.py
subversion/tests/cmdline/relocate_tests.py
subversion/tests/cmdline/diff_tests.py
subversion/bindings/swig/python/svn/wc.py
subversion/bindings/swig/python/svn/client.py
subversion/bindings/swig/python/svn/__init__.py
subversion/bindings/swig/python/svn/core.py
subversion/bindings/swig/python/svn/repos.py
subversion/bindings/swig/python/svn/fs.py
subversion/bindings/swig/python/svn/delta.py
subversion/bindings/swig/python/svn/diff.py
subversion/bindings/swig/python/svn/ra.py
subversion/bindings/swig/python/tests/auth.py
subversion/bindings/swig/python/tests/wc.py
subversion/bindings/swig/python/tests/checksum.py
subversion/bindings/swig/python/tests/setup_path.py
subversion/bindings/swig/python/tests/client.py
subversion/bindings/swig/python/tests/trac/__init__.py
subversion/bindings/swig/python/tests/trac/test.py
subversion/bindings/swig/python/tests/trac/versioncontrol/tests/__init__.py
subversion/bindings/swig/python/tests/trac/versioncontrol/tests/svn_fs.py
subversion/bindings/swig/python/tests/trac/versioncontrol/__init__.py
subversion/bindings/swig/python/tests/trac/versioncontrol/main.py
subversion/bindings/swig/python/tests/trac/versioncontrol/svn_fs.py
subversion/bindings/swig/python/tests/core.py
subversion/bindings/swig/python/tests/mergeinfo.py
subversion/bindings/swig/python/tests/utils.py
subversion/bindings/swig/python/tests/fs.py
subversion/bindings/swig/python/tests/typemap.py
subversion/bindings/swig/python/tests/delta.py
subversion/bindings/swig/python/tests/run_all.py
subversion/bindings/swig/python/tests/repository.py
subversion/bindings/swig/python/tests/pool.py
subversion/bindings/swig/python/tests/ra.py
subversion/bindings/swig/python/__init__.py
subversion/bindings/swig/include/proxy.py

Python 3 Not Supported Yet
==========================

tools/server-side/fsfs-reshard.py
tools/server-side/svn-backup-dumps.py
tools/server-side/svnpredumpfilter.py
tools/server-side/svn_server_log_parse.py
tools/server-side/test_svn_server_log_parse.py
tools/hook-scripts/mailer/mailer.py

Not Checked For Python 3 Yet
============================

tools/hook-scripts/log-police.py
tools/hook-scripts/persist-ephemeral-txnprops.py
tools/hook-scripts/mailer/tests/mailer-tweak.py
tools/hook-scripts/validate-extensions.py
tools/hook-scripts/control-chars.py
tools/hook-scripts/CVE-2017-9800-pre-commit.py
tools/hook-scripts/svnperms.py
tools/hook-scripts/validate-files.py
tools/hook-scripts/verify-po.py
tools/hook-scripts/svn2feed.py
tools/client-side/svn-viewspec.py
tools/client-side/mergeinfo-sanitizer.py
tools/client-side/server-version.py
tools/client-side/change-svn-wc-format.py
tools/client-side/svn-vendor.py
tools/client-side/svnviewspec_test.py
tools/dist/backport_tests_py.py
tools/dist/backport_tests.py
tools/dist/merge-approved-backports.py
tools/dist/changes-to-html.py
tools/dist/release.py
tools/dist/security/_gnupg.py
tools/dist/security/__init__.py
tools/dist/security/mailinglist.py
tools/dist/security/parser.py
tools/dist/security/adviser.py
tools/dist/security/mailer.py
tools/dist/backport/__init__.py
tools/dist/backport/status.py
tools/dist/backport/merger.py
tools/dist/advisory.py
tools/dist/backport_tests_pl.py
tools/dist/checksums.py
tools/dist/detect-conflicting-backports.py
tools/po/l10n-report.py
tools/examples/getfile.py
tools/examples/revplist.py
tools/examples/walk-config-auth.py
tools/examples/check-modified.py
tools/examples/geturl.py
tools/examples/putfile.py
tools/examples/svnlook.py
tools/examples/svnshell.py
tools/examples/blame.py
tools/examples/get-location-segments.py
tools/examples/dumpprops.py
tools/dev/graph-dav-servers.py
tools/dev/datecheck.py
tools/dev/gen-py-errors.py
tools/dev/normalize-dump.py
tools/dev/check-license.py
tools/dev/contribulyze.py
tools/dev/merge-graph.py
tools/dev/histogram.py
tools/dev/iz/find-fix.py
tools/dev/iz/ff2csv.py
tools/dev/scramble-tree.py
tools/dev/gen_junit_report.py
tools/dev/sbox-ospath.py
tools/dev/trails.py
tools/dev/wc-ng/count-progress.py
tools/dev/wc-ng/graph-data.py
tools/dev/wc-ng/bump-to-19.py
tools/dev/wc-ng/populate-pristine.py
tools/dev/mergegraph/save_as_sh.py
tools/dev/mergegraph/__init__.py
tools/dev/mergegraph/mergegraph.py
tools/dev/lock-check.py
tools/dev/wc-format.py
tools/dev/random-commits.py
tools/dev/analyze-svnlogs.py
tools/dev/mklog.py
tools/dev/find-control-statements.py
tools/dev/gen-javahl-errors.py
tools/dev/benchmarks/suite1/benchmark.py
tools/dev/benchmarks/RepoPerf/copy_repo.py
tools/dev/benchmarks/RepoPerf/win_repo_bench.py
tools/dev/mlpatch.py
tools/dev/which-error.py
tools/dev/find-bad-style.py
tools/dev/svn-merge-revs.py
tools/dev/verify-history.py
tools/dev/gdb-py/svndbg/__init__.py
tools/dev/gdb-py/svndbg/printers.py
tools/dev/log_revnum_change_asf.py
tools/dev/po-merge.py
tools/bdb/erase-all-text-data.py
tools/bdb/svn-bdb-view.py
tools/bdb/whatis-rep.py
tools/bdb/svnfs.py
tools/bdb/skel.py
tools/server-side/svnpubsub/svnwcsub.py
tools/server-side/svnpubsub/revprop-change-hook.py
tools/server-side/svnpubsub/daemonize.py
tools/server-side/svnpubsub/svnpubsub/server.py
tools/server-side/svnpubsub/svnpubsub/util.py
tools/server-side/svnpubsub/svnpubsub/client.py
tools/server-side/svnpubsub/svnpubsub/__init__.py
tools/server-side/svnpubsub/svntweet.py
tools/server-side/svnpubsub/watcher.py
tools/server-side/svnpubsub/commit-hook.py
tools/server-side/svnpubsub/irkerbridge.py
tools/server-side/svnpubsub/testserver.py
win-tests.py
contrib/hook-scripts/pre-lock-require-needs-lock.py
contrib/hook-scripts/case-insensitive.py
contrib/hook-scripts/remove-zombie-locks.py
contrib/hook-scripts/commit-block-joke.py
contrib/hook-scripts/pre-commit-check.py
contrib/hook-scripts/hook_toolbox.py
contrib/client-side/svn_apply_autoprops.py
contrib/client-side/svn-hgmerge.py
contrib/client-side/incremental-update.py
contrib/client-side/svn_export_empty_files.py
contrib/client-side/svn-merge-vendor.py
contrib/client-side/svnmerge/svnmerge-migrate-history.py
contrib/client-side/svnmerge/svnmerge_test.py
contrib/client-side/svnmerge/svnmerge.py
contrib/client-side/svnmerge/svnmerge-migrate-history-remotely.py
contrib/server-side/authz_svn_group.py
contrib/server-side/add-needs-lock.py
contrib/server-side/fsfsfixer/fixer/fix-rev.py
contrib/server-side/fsfsfixer/fixer/__init__.py
contrib/server-side/fsfsfixer/fixer/find_good_id.py
contrib/server-side/fsfsfixer/fixer/fixer_config.py
contrib/server-side/svn-tweak-author.py
contrib/server-side/fsfsverify.py
notes/move-tracking/path_pairs_to_eid_map.py
notes/directory-index/dirindex.py
notes/directory-index/logimport.py
.ycm_extra_conf.py
gen-make.py
subversion/tests/manual/tree-conflicts-add-vs-add.py
subversion/bindings/ctypes-python/test/localrepos.py
subversion/bindings/ctypes-python/test/wc.py
subversion/bindings/ctypes-python/test/setup_path.py
subversion/bindings/ctypes-python/test/remoterepos.py
subversion/bindings/ctypes-python/test/svntypes.py
subversion/bindings/ctypes-python/test/run_all.py
subversion/bindings/ctypes-python/setup.py
subversion/bindings/ctypes-python/examples/log.py
subversion/bindings/ctypes-python/examples/trunkify.py
subversion/bindings/ctypes-python/examples/mucc.py
subversion/bindings/ctypes-python/examples/example.py
subversion/bindings/ctypes-python/csvn/auth.py
subversion/bindings/ctypes-python/csvn/wc.py
subversion/bindings/ctypes-python/csvn/core/__init__.py
subversion/bindings/ctypes-python/csvn/ext/__init__.py
subversion/bindings/ctypes-python/csvn/ext/listmixin.py
subversion/bindings/ctypes-python/csvn/ext/callback_receiver.py
subversion/bindings/ctypes-python/csvn/__init__.py
subversion/bindings/ctypes-python/csvn/types.py
subversion/bindings/ctypes-python/csvn/repos.py
subversion/bindings/ctypes-python/csvn/txn.py
subversion/libsvn_subr/genctype.py

Cheers,
Nathan
Received on 2019-11-28 02:54:32 CET

This is an archived mail posted to the Subversion Dev mailing list.