contrib

Checkout Tools
  • last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Various spelling fixes, no functional change

* contrib/client-side/svn-clean

(--exclude): s/exluded/excluded/

* subversion/include/svn_error_codes.h

(SVN_ERR_X509_CERT_VERIFY_FAILED): s/Certficate/Certificate/

* subversion/po/de.po,

subversion/po/ja.po,

subversion/po/ko.po,

subversion/po/pl.po,

subversion/po/sv.po:

(): s/Certficate/Certificate/; s/abandonded/abandoned/

* subversion/libsvn_repos/repos.c:

(): s/abandonded/abandoned/

* subversion/libsvn_repos/repos.c,

subversion/svnadmin/svnadmin.c,

subversion/tests/libsvn_client/client-test.c:

(): s/filesytem/filesystem/

  1. … 9 more files in changeset.
Fix broken cleanup in svn_load_dirs.pl.

* contrib/client-side/svn_load_dirs/svn_load_dirs.pl.in (DESTROY):

Change cwd to the parent of the directory to remove.

Patch by: Geoffrey Alary <geoffrey.alary{_AT_}gmail.com>

Do not print password to screen in svn_load_dirs.pl.

* contrib/client-side/svn_load_dirs/svn_load_dirs.pl.in

(sanitize_pwd): New function.

(safe_read_from_pipe, read_from_process): Update the sites printing

the command line to screen to use sanitize_pwd.

(usage): Warn that other local OS users may be able to see the

password passed on the command-line.

Fix indentation; that is, replace the 2 tab occurrences by 8 spaces.

Patch by: Geoffrey Alary <geoffrey.alary{_AT_}gmail.com>

* contrib/client-side/svn_load_dirs/svn_load_dirs.pl.in: Unbreak, after r1838539.

(The breakage was my fault, not jon's.)

* contrib/client-side/svn_load_dirs/svn_load_dirs.pl.in:

Add missing peg revision escaping, in case the filename contains an "@"

sign.

Patch by: jon <jon@beniston.com>

(tweaked by me)

Update issue tracker links in comments, from Tigris (issuezilla) to Apache (Jira).

URL fragment identifiers like '#desc5' are left in place, not yet updated.

This is a merge of r1828508 from the 'shelve-checkpoint' branch where I

committed it by mistake.

  1. … 40 more files in changeset.
* contrib/hook-scripts/CVE-2017-9800-pre-commit.py: Move from here...

* tools/hook-scripts/CVE-2017-9800-pre-commit.py: ...to here.

[Note from the future: accidentally included an extra bug fix:

* subversion/svn/notify.c

(notify_body): Prevent garbled output of progress notification when

the revision number gets much shorter.]

  1. … 2 more files in changeset.
* contrib/hook-scripts/CVE-2017-9800-pre-commit.py: New, a pre-commit

hook to prevent users committing svn:externals that attempt to

exploit CVE-2017-9800.

    • ?
    ./hook-scripts/CVE-2017-9800-pre-commit.py
Let the 'fsfsfixer' script accept FSFS format 6 (svn 1.8) repositories.

Since format 5 was never released (it existed in 1.7-dev builds only) and the

only change between f4 and f6 was packed revprops, and since since this script

doesn't deal with revprops, I am confident that it should work with f6 just as

well as it did with f5 or f4 -- which is to say, not perfectly but well enough

to get us out of a hole occasionally.

* contrib/server-side/fsfsfixer/fixer/fix-rev.py

(MAX_FSFS_FORMAT): Bump from 5 to 6.

Fix the usage of empty line print() under Python 2.

* build/run_tests.py

* contrib/server-side/svn-tweak-author.py

* tools/client-side/mergeinfo-sanitizer.py

* tools/client-side/svn-vendor.py

* tools/dev/benchmarks/RepoPerf/copy_repo.py

* tools/dev/benchmarks/RepoPerf/win_repo_bench.py

* tools/dev/benchmarks/suite1/benchmark.py

* tools/dist/collect_sigs.py

(): Actually print an empty string line instead of an empty tuple.

  1. … 7 more files in changeset.
Yet another round of making our usage of "print" syntactically compatible

with Python 2 and 3 alike.

This is probably the last mass change in the py2/3 compatibility patch set.

Following commits will be a lot more local and specific.

* build/run_tests.py

* contrib/client-side/incremental-update.py

* contrib/client-side/svn_export_empty_files.py

* contrib/client-side/svn-hgmerge.py

* contrib/client-side/svnmerge/svnmerge-migrate-history.py

* contrib/client-side/svnmerge/svnmerge.py

* contrib/client-side/svn-merge-vendor.py

* contrib/hook-scripts/hook_toolbox.py

* contrib/hook-scripts/remove-zombie-locks.py

* contrib/server-side/fsfsfixer/fixer/find_good_id.py

* contrib/server-side/fsfsfixer/fixer/fix-rev.py

* contrib/server-side/fsfsverify.py

* notes/directory-index/dirindex.py

* subversion/tests/cmdline/svntest/main.py

* subversion/tests/manual/tree-conflicts-add-vs-add.py

* tools/dev/benchmarks/RepoPerf/win_repo_bench.py

* tools/dev/benchmarks/suite1/benchmark.py

* tools/dev/gen-py-errors.py

* tools/dev/merge-graph.py

* tools/dev/wc-ng/bump-to-19.py

* tools/dist/collect_sigs.py

* tools/server-side/svnpubsub/irkerbridge.py

(): Make sure to use parantheses in print statements to make them

function calls in py3. Where we print to stderr / stdout, write

the to respective sys streams.

  1. … 11 more files in changeset.
Work towards Python 3 compatibility. Since we already require Python 2.7+,

we can use the new syntax without further limiting our Python 2 support.

Fix leftovers to complete the replacement of print statements with function

calls.

* contrib/client-side/svn-merge-vendor.py

(del_temp_tree): Use a simple function call.

* contrib/server-side/fsfsverify.py

(__main__): Use the write function to output on stdout. Re-add the

previously automatic newline.

* tools/server-side/svn-backup-dumps.py

(SvnBackupOutputCommand): This one is printing a tuple. The function

call needs double parantheses here.

  1. … 1 more file in changeset.
Work towards Python 3 compatibility. Since we already require Python 2.7+,

we can use the new syntax without further limiting our Python 2 support.

* contrib/client-side/incremental-update.py

* contrib/client-side/svn_export_empty_files.py

* contrib/client-side/svnmerge/svnmerge.py

* contrib/server-side/svn-tweak-author.py

* subversion/tests/cmdline/merge_automatic_tests.py

* tools/dev/benchmarks/RepoPerf/win_repo_bench.py

* tools/dev/merge-graph.py

(): Replace occurances of Python 2 print statements with continuation

comma by writes to stdout. Don't forget to explicitly add the space

character that print would have added one.

  1. … 3 more files in changeset.
Work towards Python 3 compatibility. Since we already require Python 2.7+,

we can use the new syntax without further limiting our Python 2 support.

* contrib/client-side/svnmerge/svnmerge.py

* tools/dev/mergegraph/save_as_sh.py

(): Replace occurances of Python 2 print statements to files with calls

to the file write function. Don't forget to explicitly add a

newline print would have added one.

  1. … 1 more file in changeset.
Work towards Python 3 compatibility. Since we already require Python 2.7+,

we can use the new syntax without further limiting our Python 2 support.

* contrib/client-side/svn_export_empty_files.py

* contrib/client-side/svnmerge/svnmerge-migrate-history.py

* contrib/client-side/svnmerge/svnmerge.py

* contrib/client-side/svn-merge-vendor.py

* contrib/server-side/add-needs-lock.py

* contrib/server-side/fsfsfixer/fixer/find_good_id.py

* contrib/server-side/fsfsverify.py

* tools/dev/mergegraph/mergegraph.py

(): Replace occurances of Python 2 print statements to std streams

with calls to the stream's write function. Don't forget

to explicitly print a newline.

  1. … 1 more file in changeset.
Work towards Python 3 compatibility. Since we already require Python 2.7+,

we can use the new syntax without further limiting our Python 2 support.

* contrib/client-side/incremental-update.py

* contrib/client-side/svn_export_empty_files.py

* contrib/client-side/svnmerge/svnmerge.py

* contrib/hook-scripts/hook_toolbox.py

* contrib/hook-scripts/remove-zombie-locks.py

* contrib/server-side/add-needs-lock.py

* contrib/server-side/fsfsfixer/fixer/find_good_id.py

* contrib/server-side/fsfsfixer/fixer/fix-rev.py

* contrib/server-side/fsfsverify.py

* contrib/server-side/svn-tweak-author.py

* notes/directory-index/dirindex.py

* notes/move-tracking/path_pairs_to_eid_map.py

* subversion/tests/cmdline/svntest/main.py

* subversion/tests/cmdline/svntest/verify.py

* subversion/tests/manual/tree-conflicts-add-vs-add.py

* tools/client-side/mergeinfo-sanitizer.py

* tools/dev/benchmarks/RepoPerf/copy_repo.py

* tools/dev/benchmarks/suite1/benchmark.py

* tools/dev/gen-py-errors.py

* tools/dev/histogram.py

* tools/dev/sbox-ospath.py

* tools/dev/wc-format.py

* tools/dev/wc-ng/bump-to-19.py

* tools/dist/collect_sigs.py

* tools/examples/get-location-segments.py

* tools/server-side/svnpredumpfilter.py

* tools/server-side/svnpubsub/irkerbridge.py

* tools/server-side/svnpubsub/svntweet.py

(): Replace occurances of Python 2 print statements with calls to the

Python 3 style print function. Note that this is not exhaustive

and there are still several non-trival uses of print statements

not covered by this patch.

  1. … 18 more files in changeset.
Work towards Python 3 compatibility. Since we already require Python 2.7+,

we can use the new syntax without further limiting our Python 2 support.

* contrib/client-side/incremental-update.py

* contrib/client-side/svn_apply_autoprops.py

* contrib/client-side/svnmerge/svnmerge-migrate-history.py

* contrib/client-side/svnmerge/svnmerge-migrate-history-remotely.py

* contrib/client-side/svnmerge/svnmerge.py

* contrib/client-side/svnmerge/svnmerge_test.py

* contrib/server-side/add-needs-lock.py

* contrib/server-side/fsfsfixer/fixer/fix-rev.py

* contrib/server-side/fsfsverify.py

* contrib/server-side/svn-tweak-author.py

* subversion/bindings/swig/python/tests/core.py

* subversion/bindings/swig/python/tests/repository.py

* subversion/tests/cmdline/svntest/actions.py

* subversion/tests/cmdline/svntest/main.py

* subversion/tests/cmdline/svntest/objects.py

* subversion/tests/cmdline/svntest/wc.py

* subversion/tests/cmdline/upgrade_tests.py

* tools/client-side/change-svn-wc-format.py

* tools/client-side/mergeinfo-sanitizer.py

* tools/dev/contribulyze.py

* tools/dev/gen-javahl-errors.py

* tools/dev/gen_junit_report.py

* tools/dev/graph-dav-servers.py

* tools/dev/iz/ff2csv.py

* tools/dev/iz/find-fix.py

* tools/dev/wc-ng/bump-to-19.py

* tools/dev/wc-ng/populate-pristine.py

* tools/dev/which-error.py

* tools/examples/get-location-segments.py

* tools/hook-scripts/svn2feed.py

* tools/hook-scripts/svnperms.py

* tools/po/l10n-report.py

* tools/server-side/fsfs-reshard.py

* tools/server-side/svn-backup-dumps.py

* tools/server-side/svnpredumpfilter.py

* tools/server-side/svnpubsub/daemonize.py

* tools/server-side/test_svn_server_log_parse.py

(): Replace all occurances of "except Type, variable:" with Python 3

style "except Type as variable".

  1. … 27 more files in changeset.
Deprecate svn cutter, per ESR's email to dev@subversion. Point to his

new "reposurgeon" project site.

See: Message-Id: <20160202234208.B098313A0E4A@snark.thyrsus.com>

Fix check-mime-type.pl so that it also works for svnlook versions from 1.7.8

(r1416637).

In r1416637, svnlook proplist --verbose output changed from propname : propval

format, to an indented output:

Properties on ...

propname1

propval1

propval2

This change makes check-mime-type aware of both the pre 1.7.8 and 1.7.8+

formats.

Patch by: Brett Randall <javabrett{_AT_}gmail.com>

Merge the pin-externals branch to trunk.

The discussion thread start in this post:

http://mail-archives.apache.org/mod_mbox/subversion-dev/201501.mbox/%3C20150128095434.GM26869%40ted.stsp.name%3E

has come to a consensus that the branch can be merged and additional

development of this feature can happen on trunk.

This merge adds a '--pin-externals' option to 'svn copy'.

This option enables automated pinning of URLs in svn:externals properties

during copy operations (issue #1258).

--pin-externals : pin externals with no explicit revision to their

last-changed revision (recommended when tagging)

This feature makes the svncopy.pl contrib script unnecessary.

Externals are "pinned" by adding a peg revision to the external's source URL.

For example, the external definition:

^/foo/bar ext_bar

might become:

^/foo/bar@400 ext_bar

This table shows which revision is used for pinning:

copy source: working copy (WC) REPOS

------------+------------------------+---------------------------+

copy WC | external's WC BASE rev | external's repos HEAD rev |

dest: |------------------------+---------------------------+

REPOS | external's WC BASE rev | external's repos HEAD rev |

------------+------------------------+---------------------------+

An external that is already pinned is left as-is.

Please see the branch log for details about these changes.

  1. … 22 more files in changeset.
Fix some typos.

* CHANGES:

* contrib/cgi/mirror_dir_through_svn.cgi:

* contrib/client-side/emacs/psvn.el:

* contrib/client-side/svn2cl/svn2cl.xsl:

* contrib/hook-scripts/remove-zombie-locks.py:

* contrib/hook-scripts/syntax-check.sh:

* contrib/server-side/svnstsw/configure.ac:

* notes/assurance.txt:

* notes/fs-improvements.txt:

* notes/knobs:

* notes/merge-tracking/func-spec.html:

* notes/merge-tracking/summit-survey.html:

* notes/wc-ng/design:

* notes/wc-ng/locking:

* notes/wc-ng/nodes:

* subversion/bindings/ctypes-python/csvn/core/__init__.py:

* subversion/bindings/ctypes-python/examples/example.py:

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictResult.java:

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java:

* subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java:

* subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java:

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java:

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/PropertyData.java:

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java:

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java:

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java:

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java:

* subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java:

* subversion/bindings/swig/include/proxy_apr.swg:

* subversion/bindings/swig/perl/native/Client.pm:

* subversion/bindings/swig/perl/native/t/3client.t:

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:

* subversion/include/private/svn_diff_tree.h:

* subversion/include/private/svn_io_private.h:

* subversion/include/private/svn_ra_svn_private.h:

* subversion/include/private/svn_string_private.h:

* subversion/include/svn_io.h:

* subversion/include/svn_iter.h:

* subversion/include/svn_props.h:

* subversion/libsvn_client/copy_foreign.c:

* subversion/libsvn_client/diff.c:

* subversion/libsvn_client/merge.c:

* subversion/libsvn_delta/xdelta.c:

* subversion/libsvn_diff/diff4.c:

* subversion/libsvn_diff/util.c:

* subversion/libsvn_fs/editor.c:

* subversion/libsvn_fs_fs/index.c:

* subversion/libsvn_fs_fs/temp_serializer.c:

* subversion/libsvn_fs_fs/temp_serializer.h:

* subversion/libsvn_fs_fs/transaction.c:

* subversion/libsvn_fs_fs/tree.c:

* subversion/libsvn_fs_x/fs.h:

* subversion/libsvn_fs_x/index.c:

* subversion/libsvn_fs_x/reps.c:

* subversion/libsvn_fs_x/temp_serializer.c:

* subversion/libsvn_fs_x/temp_serializer.h:

* subversion/libsvn_fs_x/transaction.c:

* subversion/libsvn_fs_x/tree.c:

* subversion/libsvn_ra_serf/README:

* subversion/libsvn_ra_svn/protocol:

* subversion/libsvn_repos/dump.c:

* subversion/libsvn_repos/hooks.c:

* subversion/libsvn_repos/load-fs-vtable.c:

* subversion/libsvn_subr/dirent_uri.c:

* subversion/libsvn_subr/io.c:

* subversion/libsvn_subr/opt.c:

* subversion/libsvn_subr/string.c:

* subversion/libsvn_subr/subst.c:

* subversion/libsvn_wc/entries.c:

* subversion/libsvn_wc/externals.c:

* subversion/libsvn_wc/lock.c:

* subversion/libsvn_wc/update_editor.c:

* subversion/svn/file-merge.c:

* subversion/svn/status-cmd.c:

* subversion/svnlook/svnlook.c:

* subversion/svnrdump/load_editor.c:

* subversion/svnserve/svnserve.c:

* subversion/tests/cmdline/commit_tests.py:

* subversion/tests/cmdline/diff_tests.py:

* subversion/tests/cmdline/merge_reintegrate_tests.py:

* subversion/tests/cmdline/merge_tests.py:

* subversion/tests/cmdline/revert_tests.py:

* subversion/tests/cmdline/svnauthz_tests.py:

* subversion/tests/cmdline/svntest/factory.py:

* subversion/tests/cmdline/svntest/main.py:

* subversion/tests/libsvn_repos/repos-test.c:

* subversion/tests/libsvn_subr/string-test.c:

* subversion/tests/libsvn_subr/utf-test.c:

* subversion/tests/libsvn_wc/db-test.c:

* subversion/tests/svn_test_main.c:

* tools/dev/trails.py: Fix some typos.

Patch by: Veres Lajos <vlajos{_AT_}gmail.com>

(I removed some changes that were wrong or can't be made due to API breakage)

  1. … 85 more files in changeset.
Fix some typos.

* CHANGES:

* contrib/client-side/emacs/psvn.el:

* contrib/client-side/svn-merge-vendor.py:

* contrib/hook-scripts/remove-zombie-locks.py:

* contrib/server-side/svnmirror.sh:

* contrib/server-side/svnmirror-test.sh:

* notes/meetings/berlin-11-agenda:

* notes/unicode-composition-for-filenames:

* notes/wc-ng/conflict-storage:

* notes/wc-ng/conflict-storage-2.0:

* subversion/bindings/ctypes-python/test/wc.py:

* subversion/bindings/cxxhl/src/aprwrap/hash.hpp:

* subversion/bindings/cxxhl/tests/test_aprwrap.cpp:

* subversion/bindings/javahl/native/JNICriticalSection.h:

* subversion/bindings/javahl/native/JNIUtil.cpp:

* subversion/bindings/javahl/native/jniwrapper/jni_env.hpp:

* subversion/bindings/javahl/native/NativeStream.hpp:

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java:

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java:

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java:

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java:

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java:

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java:

* subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java:

* subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java:

* subversion/bindings/swig/perl/native/Client.pm:

* subversion/include/private/svn_sqlite.h:

* subversion/include/private/svn_subr_private.h:

* subversion/include/svn_client.h:

* subversion/include/svn_client_mtcc.h:

* subversion/include/svn_diff.h:

* subversion/libsvn_fs_fs/rep-cache.c:

* subversion/libsvn_fs_x/rep-cache.c:

* subversion/libsvn_ra_serf/options.c:

* subversion/libsvn_subr/io.c:

* subversion/libsvn_subr/string.c:

* subversion/libsvn_subr/utf8proc.c:

* subversion/libsvn_wc/adm_crawler.c:

* subversion/libsvn_wc/diff_local.c:

* subversion/libsvn_wc/wc_db_update_move.c:

* subversion/libsvn_wc/wc-metadata.sql:

* subversion/svn/status-cmd.c:

* subversion/tests/cmdline/diff_tests.py:

* subversion/tests/cmdline/merge_tests.py:

* subversion/tests/cmdline/README:

* subversion/tests/cmdline/svnadmin_tests.py:

* subversion/tests/cmdline/svnauthz_tests.py:

* subversion/tests/cmdline/svndumpfilter_tests.py:

* subversion/tests/cmdline/svnrdump_tests.py:

* subversion/tests/cmdline/svntest/factory.py:

* subversion/tests/libsvn_wc/wc-queries-test.c:

* tools/dev/build-svn-deps-win.pl: Fix some typos.

  1. … 47 more files in changeset.
In 'fsfsfixer': try to fix bad offsets in 'text:' references in addition to

in 'DELTA' references.

* contrib/server-side/fsfsfixer/fixer/fix-rev.py

(fix_rep_ref): Rename from fix_delta_ref(). Handle 'text:' lines as well

as 'DELTA' lines.

(handle_one_error): Try to fix 'text:' references in addition to 'DELTA'

references. Expand the commentary.

In 'fsfsfixer', improve diagnostic messages.

* contrib/server-side/fsfsfixer/fixer/fix-rev.py

(run_cmd): Print any non-zero return code.

(replace_in_file): Catch more errors. Don't print the "Replacing ..."

message unless the replacing succeeds.

(fix_id, fix_checksum): Don't print the "Fixing ..." message unless the

fixing succeeds.

(fix_delta_ref): Raise a more informative error than "Failed to substitute

..." if the offset we're supposed to fix appears to be already correct.

Don't print the "Fixing ..." message unless the fixing succeeds.

(handle_one_error): Print the error message we're examining, in all cases.

Print the warning if we don't recognize the error message here rather

than in the caller, to avoid printing it if in fact we recognized the

error message but failed to fix the problem.

(grab_stderr): Log the command being run. Simplify Python code.

(fix_one_error): Print more accurate messages.

Update 'fsfsfixer' to work with svnadmin v1.7+.

* contrib/server-side/fsfsfixer/fixer/fix-rev.py

(handle_one_error): Ignore the extra error message shown by svnadmin v1.7+.

Fix a bug in 'fsfsfixer'. When parsing a node-rev-id containing multiple

occurrences of '.r', such as '11-1.r-1234.r1234/500', it failed with the

error message 'ValueError: too many values to unpack'.

* contrib/server-side/fsfsfixer/fixer/find_good_id.py

(parse_id): Parse node-rev-ids correctly.

Suggested by: Yangxufeng Zhao <yangxufeng.zhao{_AT_}alipay.com>

in the email "subversion pull request: fix multiple .r in id" to dev@ on

2013-12-20, <http://svn.haxx.se/dev/archive-2013-12/0145.shtml>.

* contrib/server-side/svncutter/svncutter:

(strip): change nomenclature to be consistent with reposurgeon.

* contrib/server-side/svncutter/svncutter:

(doreduce): New subcommand for topologically reducing a dump.

* contrib/server-side/fsfsverify.py

(NodeRev.__init__): Replace a Python 2.5-ism with code that works on

earlier Python versions.

* contrib/server-side/svncutter/svncutter:

(expunge): Allow ^-anchored patterns in expunge node searches.

(skeleton): skeleton now takes regexp selection pattern a la expunge.