Checkout Tools
  • last updated 1 hour ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 875837 is being indexed.

Following up on r35746, deprecate public diff apis that use apr internal

encoding for passing the diff tool.

* subversion/include/svn_io.h

(svn_io_run_diff2): New function.

(svn_io_run_diff): Deprecate function.

(svn_io_run_diff3_3): New function.

(svn_io_run_diff3_2): Deprecate function.

* subversion/libsvn_subr/deprecated.c

(svn_io_run_diff): Reimplement here using svn_io_run_diff2.

(svn_io_run_diff3_2): Reimplement here using svn_io_run_diff3_3.

(svn_io_run_diff3): Moved deprecated function here (from io.c).

* subversion/libsvn_subr/io.c

(svn_io_run_diff2): New function, based on svn_io_run_diff, but without

apr internal charset assumption.

(svn_io_run_diff): Move to deprecated.c.

(svn_io_run_diff3_3): New function, based on svn_io_run_diff_3_2, but

without apr internal charset assumption.

(svn_io_run_diff3_2, svn_io_run_diff3): Move to deprecated.c.

Suggested by: gstein

On the explore-wc branch:

* subversion/libsvn_wc

Update ignore property.

When fetching text values from sqlite, allow the API to accept an optional

pool parameter to allocate the return value in. Over on explore-wc, we

spend a lot of time manually doing this, and it seems reasonable to delegate

it to the API.

* subversion/libsvn_subr/sqlite.c

(svn_sqlite__column_text): If given a pool, duplicate the return value into

the pool.

* subversion/include/private/svn_sqlite.h

(svn_sqlite__column_text): Add extra parameter and document it.

* subversion/libsvn_wc/entries.c

(svn_wc__entries_write): Rename a variable to match our conventions.

Add TODO item.
On the issue-3334-dirs branch: Tweak a switch test's expectations to

reflect the fact that issue #3334 is not completely addressed.

* subversion/tests/cmdline/

(tree_conflicts_on_switch_1_1): Stop expecting deleted subtrees to be

skipped during a switch and remain pointing back to their pre-switch

locations. Rather, expected them to get switched to their new locations

but remain scheduled for deletion.

(test_list): Set tree_conflicts_on_switch_1_1 to XFail till issue #3334 is

completely addressed.

On the issue-3334-dirs branch: Tweak a slew of test expectations to

reflect the fact that issue #3334 is not completely addressed.

For each of the tests listed below adjust the expected output so that when

an update or switch brings down edits/deletes directly on, or within, a

locally deleted subtree, the base revision of the paths within the locally

deleted tree are updated to the target revision and incoming edits are

reflected in the deleted items text/prop bases. Mark each test listed below

as XFail until the correct behavior is implemented.

* subversion/tests/cmdline/

(tree conflicts resolved):

* subversion/tests/cmdline/

(make_depth_tree_conflicts): Note, this is a setup helper for



tree_conflicts_resolved_depth_immediates, and

tree_conflicts_resolved_depth_infinity and so those are the tests that get

marked as XFail.

* subversion/tests/cmdline/


* subversion/tests/cmdline/


* subversion/tests/cmdline/


* subversion/tests/cmdline/


On the explore-wc branch:

Followup to r35755 by removing calls to svn_sqlite__close(). The database

is now closed automatically on pool cleanup.

* subversion/libsvn_wc/entries.c

(read_entries, svn_wc__entries_write, svn_wc__entries_init): Remove calls

to svn_sqlite__close().

On the explore-wc branch:

Merge outstanding revisions from trunk. This breaks the build on this branch

due to r35752.

  1. … 31 more files in changeset.
Merge r35250, r35286 from trunk:

* r35250, r35286

Fix the error handling logic of the get-location-segments REPORT code

in mod_dav_svn.


This causes inconsistencies across the RA layers, and those

confusing client-side XML parsing errors that fuss about

responses with 200 status codes.


+1: cmpilato, gstein, rhuijben

JavaHL: Add the ConflictDescriptor.Reason.added value to Java.

[ in subversion/bindings/javahl/ ]

* native/EnumMapper.cpp

(mapConflictReason): Include new enum value.

* src/org/tigris/subversion/javahl/

(Reason.added): New.

Use apr pool cleanup to close an sqlite database created in that pool. This

simplifies things for API consumers, in that they don't have to worry about

closing open sqlite databases, especially when handling errors.

* subversion/libsvn_subr/sqlite.c

(close_apr): New.

(svn_sqlite__open): Register the pool cleanup callback.

(svn_sqlite__close): Remove.

* subversion/include/private/svn_sqlite.h

(svn_sqlite__open): Update docstring.

(svn_sqlite__close): Remove.

* subversion/libsvn_fs_fs/rep-cache.c

(cleanup_db_apr): Remove.

(svn_fs_fs__open_rep_cache): Don't register the cleanup function, but

document that the sqlite APIs do it for us.

Use svn_stomic__init_once() to initialize the sqlite library, to avoid any

race conditions.

Suggested by: rhuijben

(Also mentioned in the comments.)

* subversion/libsvn_subr/sqlite.c

(sqlite_init_state): New.

(init_sqlite): Remove internal already-initialized checking.

(svn_sqlite__get_schema_version, svn_sqlite__open): Update callers to use


Follow-up to r35748:

* subversion/libsvn_fs_fs: Update svn:ignore.

Fix compiler warning:

subversion/libsvn_subr/dirent_uri.c:134: warning: ‘canonicalize_to_upper’ defined but not used

* subversion/libsvn_subr/dirent_uri.c

(canonicalize_to_upper): Define only when WIN32 or __CYGWIN__ is defined.

Use '.sql_h' filename extension for headers generated from '.sql' files.

This filename extension (or .sql.h) allows to easier distinguish headers

generated from .sql files.


(fast-clean, .SUFFIXES): Update.

(.sql.h): Rename to ...

(.sql.sql_h): ... this.

* build.conf

(private-built-includes): Update.

* build/generator/

(WinGeneratorBase._create_sqlite_headers): Update.

* subversion/libsvn_fs_fs/rep-cache.c: Include "rep-cache-db.sql_h" instead of


[ Reverted in r35846. ]

* subversion/tests/cmdline/

(import_eol_style): Set 'password-stores' option in the generated 'config' file.

Following up on r35743, fix whitespace and move encoding comment to

header file.

* subversion/include/svn_io.h

(svn_io_run_diff, svn_io_run_diff3_2):

Document that diff_cmd must be cstring encoded.

* subversion/libsvn_subr/io.c

(svn_io_open_uniquely_named, svn_io_create_unique_link,

svn_io_start_cmd): Fix spacing.

(svn_io_run_diff, svn_io_run_diff3_2): Remove ### comment now added to

.h file.

Suggested by: arfrever

* subversion/libsvn_subr/io.c

(svn_io_dir_walk): Following up on r35744, update spacing.

On OSs that always use UTF-8 as apr filepath format stop copying all

paths before passing it only to apr. (Currently applies to Windows and OS/X).

* subversion/libsvn_subr/io.c

(cstring_to_utf8, cstring_from_utf8): New function.

(io_check_path, svn_io_open_uniquely_named, svn_io_create_unique_link,

svn_io_read_link): Only copy path if needed.

(svn_io_temp_dir): Convert to utf-8 before canonicalizing.

(svn_io_copy_file, svn_io_copy_perms, svn_io_append_file,


svn_io_set_file_affected_time): Only copy path if needed.

(svn_io_sleep_for_timestamps): Replace tabs with spaces.

(svn_io_filesizes_different_p, get_default_file_perms,

io_set_file_perms, svn_io_set_file_read_only,

svn_io_set_file_read_write, svn_io_remove_file,

svn_io_remove_dir2, svn_io_start_cmd,

svn_io_run_diff, svn_io_run_diff3_2,

svn_io_file_open, svn_io_stat, svn_io_file_rename,

dir_make, svn_io_dir_open, svn_io_dir_remove_nonrecursive,

svn_io_dir_read, svn_io_dir_walk, svn_io_dir_empty):

Only copy path if needed.

* subversion/libsvn_subr/dirent_uri.c

(dirent_to_lower): Rename to ...

(canonicalize_to_lower): ... this.

(dirent_to_upper): Rename to ...

(canonicalize_to_upper): ... this.

(canonicalize): Update callers.

Note that the dirent canonicalize should call this method too, but doesn't

at this time.

Suggested by: gstein

* subversion/libsvn_client/info.c

(push_dir_info): Following up on r35732 use svn_path_url_add_component2 on

pre-canonicalized url.

* subversion/include/svn_io.h

(svn_stream_open_writable): Remove documentation typo.

Respect the '--non-interactive' option in libsvn_auth_gnome_keyring.

* subversion/libsvn_auth_gnome_keyring/gnome_keyring.c




ssl_client_cert_pw_gnome_keyring_save_creds): Don't call unlock_prompt_func(),

when non_interactive is TRUE.

Follow-up to r35665 and r35707:

* subversion/svn_private_config.hw: Move conditional inclusion of Berkeley DB

header outside of SVN_PRIVATE_CONFIG_HW block.

* subversion/libsvn_fs_base/lock.c:

* subversion/libsvn_fs_base/tree.c: Don't define SVN_WANT_BDB.

Patch by: Chris Foote <>


On the issue-3334-dirs branch: Tweak an update test's expectations to

reflect the fact that issue #3334 is not completely addressed.

* subversion/tests/cmdline/

(tree_conflicts_on_update_1_1): When text/prop edits and file adds land

within a locally deleted tree, expect a tree conflict as always, but

also expect the deleted tree's base rev to be updated and

the added paths to be added (though still scheduled for deletion).

(test_list): Set tree_conflicts_on_update_1_1 to XFail till issue #3334 is

completely addressed.

Fix segmentation fault with KDE 4.2.

* subversion/libsvn_auth_kwallet/kwallet.cpp

(): Include <QtCore/QCoreApplication>.

(kwallet_password_get, kwallet_password_set): Create a QCoreApplication

instance if it doesn't exist.

* subversion/tests/cmdline/

(create_config): Set 'password-stores' option in the generated 'config' file.

Search for pkg-config only once and use pkg-config found by AC_PATH_PROG.


(pkg-config): Use AC_PATH_PROG to find pkg-config and store the path to

pkg-config in PKG_CONFIG variable.

(D-Bus, GNOME Keyring): Use PKG_CONFIG variable.

* build/ac-macros/kwallet.m4


* build/ac-macros/neon.m4


* build/ac-macros/sqlite.m4


* STATUS: Nominate r35733 for backport