Checkout
 

kfogel in subversion

Update table of contents to match actual section names in INSTALL.

Give correct error message on failure to import Subversion Python bindings.

* tools/hook-scripts/mailer/mailer.py: If the Subversion Python bindings

could not be found for import at all, have the error message state

that clearly, instead of duplicating the error message used for

importing too old a version of the bindings.

Reviewed by: cmpilato

Kenneth Porter

Thread: https://mail-archives.apache.org/mod_mbox/subversion-dev/201802.mbox/%3C874lmlly1l.fsf%40red-bean.com%3E

From: Karl Fogel

To: dev@

Subject: [PATCH] Better error message for svn bindings import in mailer.py.

Date: Mon, 12 Feb 2018 15:04:38 -0600

Message-ID: <874lmlly1l.fsf@red-bean.com>

Update a comment to match r875303 changes.

* subversion/include/svn_types.h: Update the overview comment about

special files to use the new function name in libsvn_subr/subst.c.

* INSTALL (Building the Latest Source under Unix): Update a reference,

following up to r864121.

* src/subversion/subversion/include/svn_wc.h

(svn_wc_parse_externals_description3): Doc fix to clarify relative URLs.

Suggested by: neels

(Discussed at inappropriate length in IRC with neels, julianf, breser.)

* tools/dev/check-license.py

(OLD_LICENSE, NEW_LICENSE): Update, following up to r38370.

* COMMITTERS: Definitively mark the end of the full committers

section, to solve the "mailing list membership script breaks

unpredictably when we make otherwise reasonable changes"

problem once and for all.

* www/security.html: Update the security reports address.

The new tigris.org discussion forums (which are also the mailing

lists) do not support the particular combination of write-friendliness

and read-guardedness needed to receive security reports.

* www/svn_1.6_releasenotes.html

(What's New in Subversion 1.6): Link to CHANGES file.

Suggested by: Anatoly Techtonik <techtonik@gmail.com>

* COMMITTERS

(rocksun): Whups, say "zh" instead of "cn", following up to r34195.

Found by: arfrever

* COMMITTERS

(rocksun): Add as a new Chinese translator for the www area.

(nmiyo): While here, expand domain from faq to www; anyone who can

translate the faq can obviously translate other documents in www.

* subversion/libsvn_subr/deprecated.c: Include svn_path.h, to avoid an

"implicit declaration of function 'svn_path_split'" warning.

* www/links.html (hosting): Fix Assembla entry.

Found by: Ryan Holbrook <rholbrook1@gmail.com>

On the issue-2843-dev branch: bring up-to-date with latest trunk (r34104).

* subversion/tests/cmdline/commit_tests.py

(test_list): Expect commit_out_of_date_deletions to fail over ra_svn.

I'm not sure why it wasn't marked this way originally. See r34101

and r34073 for more context; I think there was just a multi-way

confusion here and that it is now un-confused.

Found by: danielsh

(He noticed my IRC inquiries and pointed out that ra_svn failure persists.)

On the issue-2843-dev branch:

* subversion/tests/cmdline/depth_tests.py

(test_list): Expect excluded_receive_remote_removal to pass now.

On the issue-2843-dev branch: bring up-to-date with latest trunk (r34101).

* subversion/tests/cmdline/commit_tests.py

(test_list): Expect commit_out_of_date_deletions to pass over DAV now.

I'm not sure when it started XPASSing; it seems to have been doing

so at least since r34008, but it may have started long before then.

On the issue-2843-dev branch: resolve conflicts from the r34098 merge.

* subversion/libsvn_wc/entries.c

(read_entries): Resolve conflict between r31713 and r34093.

On the issue-2843-dev branch: bring up-to-date with trunk@HEAD (r34097):

svn merge https://svn.collab.net/repos/svn/trunk

There was one conflict. I am committing it with conflict markers

intact, to be resolved in a separate revision:

subversion/libsvn_wc/entries.c

  1. … 73 more files in changeset.
On the issue-2843-dev branch: bring up-to-date with trunk@r34014.

* subversion/libsvn_ra/compat.c

(svn_ra__file_revs_from_log): Remove unused var, following up to r33977.

On the issue-2843-dev branch:

* subversion/libsvn_wc/crop.c

(crop_children): Add static keyword.

On the issue-2843-dev branch:

Update for APIs and deprecations made since this branch was created.

* subversion/libsvn_client/update.c

(svn_client__update_internal): Call svn_wc_adm_close2.

* subversion/libsvn_wc/adm_crawler.c: Remove a big stretch of code

that now lives in deprecated.c. Wonder, and maybe worry, about

why the recent merges didn't take care of this automatically.

On the issue-2843-dev branch: resolve conflicts from the r34009 merge.

* subversion/libsvn_wc/update_editor.c

(do_entry_deletion): Adjust for check_tree_conflict's new parameters.

* subversion/libsvn_wc/lock.c

(do_open): Adjust for r33676.

* subversion/libsvn_client/ra.c

(svn_client_uuid_from_path): Adjust for r33775.

* subversion/libsvn_wc/adm_crawler.c

(svn_wc_crawl_revisions4): Resolve non-conflict.

On the issue-2843-dev branch: bring up-to-date with trunk@HEAD (r34008):

svn merge https://svn.collab.net/repos/svn/trunk

There were four conflicts. I am committing them with conflict markers

intact, so they can be resolved in a separate revision:

subversion/libsvn_wc/update_editor.c

subversion/libsvn_wc/lock.c

subversion/libsvn_wc/adm_crawler.c

subversion/libsvn_client/ra.c

  1. … 352 more files in changeset.
On the issue-2843-dev branch: bring up-to-date with trunk@r33536:

svn merge https://svn.collab.net/repos/svn/trunk@r33536

  1. … 8 more files in changeset.
When can't print a bad filename, then at least print the directory it's in.

(Reproduction recipe given below.)

* subversion/libsvn_subr/io.c

(entry_name_to_utf8): New helper function to give a better error.

(svn_io_get_dirents2, svn_io_copy_dir_recursively, svn_io_remove_dir2,

svn_io_get_dir_filenames, svn_io_dir_walk): Use new helper.

(svn_io_dir_read): Explain why we don't use the new helper here.

* subversion/libsvn_subr/utf.c

(invalid_utf8, check_utf8, check_cstring_utf8): Document that the

error code is APR_EINVAL.

* subversion/include/svn_utf.h: Document that when conversion fails the

error code is APR_EINVAL.

This change replaces cryptic and uninformative errors...

$ svn st -q

subversion/libsvn_subr/utf.c:597: (apr_err=22)

svn: Valid UTF-8 data

(hex: 20)

followed by invalid UTF-8 sequence

(hex: 90 1b 0a 5a)

$

...with equally cryptic but more informative errors:

$ svn st -q

subversion/libsvn_subr/io.c:126: (apr_err=22)

svn: Error converting entry in directory 'www' to UTF8

subversion/libsvn_subr/utf.c:597: (apr_err=22)

svn: Valid UTF-8 data

(hex: 20)

followed by invalid UTF-8 sequence

(hex: 90 1b 0a 5a)

$

This program will create such a file in cwd for testing:

#include <stdio.h>

#include <string.h>

int main()

{

const char fname[] = { 0x20, 0x90, 0x1b, 0x0a, 0x5a, 0 };

FILE *fp = fopen(fname, "w");

fclose(fp);

}

In most Unix shells, you can remove the file with "rm ' '*" afterwards.

* STATUS: Nominate and vote for r33641.

Another path->url conversion fix, similar to r33121 and friends:

* subversion/libsvn_client/merge.c

(calculate_left_hand_side): Use svn_path_url_add_component, instead

of svn_path_join, to extend a url by a path component

Found by: Purple Streak <mrpurplestreak{_AT_}googlemail.com>

(Scripted up a good reproduction recipe when requested.)