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