subversion

Checkout Tools
  • last updated 14 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 878439 is being indexed.

Set the svn:eol-style property to native on some additional text files.

I know these file are primarily used on Windows, but having the eol-style

property set prevents the rest of the world from getting spurious ^M characters

when grepping through them.

* packages/windows-WiX/BuildSubversion/*.wxi

* packages/windows-WiX/Tools/*.[pl,bat,ini]

* packages/windows-WiX/Tools/templates/*:

Set svn:eol-style property to native.

  1. … 20 more files in changeset.
Follow-up to r38359:

Add the '--enable-disallowing-of-undefined-references' configure option which

is used to control enabling of using of -Wl,--no-undefined flag.

* configure.ac: Add the '--enable-disallowing-of-undefined-references' option.

* subversion/libsvn_wc/entries.c

(entries_write_body): Followup to r37870 by just using SVN_ERR() instead of

attempting to manually catch and examine an error.

[ Reverted, with an explanatory note, in r38367. ]

Call a library-internal function in place of deprecated public function.

* subversion/libsvn_wc/diff.c

(get_base_mimetype): Update API calls, and remove unneeded arguments from

the function.

(file_diff, report_wc_file_as_added): Update callers to above.

(report_wc_directory_as_added, close_directory, close_file):

Use the library-internal APIs.

* subversion/libsvn_wc/copy.c

(copy_props, copy_added_file_administratively): Remove access baton

parameters and deprecated function calls.

(copy_added_dir_administratively, svn_wc_copy2): Use the library-internal

API.

* subversion/libsvn_wc/adm_ops.c

(revert_adm_things): Following up to 38358: Remove one last call to

svn_wc_get_prop_diffs().

Fix the following error reproduced by "x64-ubuntu gcc" buildbot:

.libs/fs-loader.o: In function `svn_fs_set_uuid':

subversion/libsvn_fs/fs-loader.c:1175: undefined reference to `apr_uuid_parse'

* build.conf

(libsvn_fs.libs): Add 'aprutil'.

Use -Wl,--no-undefined during linking of some libraries to allow to earlier

detect possible problems.

* configure.ac: Add check for -Wl,--no-undefined. If this flag is supported,

add it to some variables and mark them for substitution.

* Makefile.in: Set some variables.

Update libsvn_wc functions to not use the deprecated svn_wc_get_prop_diffs()

API.

* subversion/libsvn_wc/props.c

(svn_wc__internal_propdiff): New, renamed from svn_wc_get_prop_diffs2().

(svn_wc_get_prop_diffs2): Reimplemented as a very thin wrapper.

* subversion/libsvn_wc/props.h

(svn_wc__internal_propdiff): New.

* subversion/libsvn_wc/diff.c

(edit_baton): New db member.

(make_editor_baton): Populate.

(close_file, close_directory, report_wc_directory_as_added,

directory_elements_diff, get_base_mimetype, file_diff):

Switch callers over to the new internal function.

* subversion/libsvn_wc/adm_crawler.c

(svn_wc_transmit_prop_deltas): Same.

* subversion/libsvn_wc/log.c

(log_do_committed): Same.

Support per-target LDFLAGS.

It is required for changes committed in r38359.

* build/generator/templates/makefile.ezt: Support per-target LDFLAGS.

All the way back since r1, the documentation of pool usage for

svn_fs_revision_root, svn_fs_txn_root, and svn_fs_close_root has been incorrect:

they claim that roots are allocated in the pool given to the constructor and

that svn_fs_close_root is equivalent to destroying that pool, but in fact the

root is allocated in a private subpool. The reporter relies on this behavior

(because it passes the same pool to multiple calls to svn_fs_revision_root and

closes them independently with svn_fs_close_root).

This change:

- Fixes the documentation of these functions.

- Moves the subpool creation from the individual backends to the FS loader.

- Fixes a leak in BDB: the node cache is allocated in the enclosing pool, not

the root-specific pool, so during (eg) a reporter run, the caches are not

released until the end of the entire report rather than when their root is

destroyed.

* subversion/include/svn_fs.h

(svn_fs_revision_root, svn_fs_txn_root): Document how to destroy the root.

(svn_fs_close_root): Document when to use this function, without lies.

* subversion/libsvn_fs/fs-loader.c

(svn_fs_revision_root, svn_fs_txn_root): Create subpool and pass it to vtable

call.

* subversion/libsvn_fs_base/tree.c, subversion/libsvn_fs_fs/tree.c

(make_root): Just use the pool passed in for everything.

* subversion/libsvn_fs/fs-loader.h

(svn_fs_root_t): Document that pool is root-specific.

Deprecate svn_wc_props_modified_p(), and remove its only call.

* subversion/include/svn_wc.h

(svn_wc_props_modified_p): Deprecate and update docs.

* subversion/libsvn_client/commit_util.c

(check_prop_mods): Remove the shortcut to check props mods. In wc-ng, the

diff will be "fast enough".

(harvest_committables): Update calls to check_prop_mods().

* subversion/include/svn_wc.h

(svn_wc_get_prop_diffs2): Update a docstring to better reflect what is

actually happening.

Recommend Neon 0.28.5.

* configure.ac

(NEON_RECOMMENDED_VER): Recommend Neon 0.28.5.

* tools/dist/construct-rolling-environment.sh

(NEON): Use Neon 0.28.5.

Another follow-up to r38325, the fix for issue #3432.

* subversion/libsvn_client/merge.c

(find_gaps_in_merge_source_history): Remove YAUV (Yet Another Unnecessary

Variable).

* subversion/libsvn_ra_serf/locks.c

(handle_lock): More minor error handling cleanup, eliminating

unnecessary logic.

Suggested by: gstein

* subversion/libsvn_ra_serf/locks.c

(handle_lock): Minor error handling cleanup, avoiding a warning

about shadowed variable declaration and promoting code readability.

Follow-up to r38325, fix for issue #3432.

* subversion/libsvn_client/merge.c

(find_gaps_in_merge_source_history): Avoid shadowing a previous local

variable by removing some unnecessary variables.

Paranoia: Add a few assertions about absolute paths.

* subversion/libsvn_wc/props.c

(svn_wc__props_delete, svn_wc__wcprop_set, svn_wc__prop_list2,

svn_wc_prop_get2, svn_wc_get_prop_diffs2):

Ensure the passed absolute paths really are.

* subversion/libsvn_wc/props.c

(svn_wc__internal_propset): Put a baton on the stack instead of the heap.

Prevent a theoretical segfault.

* subversion/libsvn_client/mergeinfo.c

(elide_mergeinfo): End a call to svn_dirent_join_many() with NULL.

Rework the creation and destruction of svn_wc_context_t within the client

library. Specifically, always create a wc_context as part of a client

context, and use that internally within the client library.

Suggested by: gstein

* subversion/include/svn_client.h

(svn_client_ctx_t.wc_ctx): Update docs.

* subversion/libsvn_client/relocate.c,

subversion/libsvn_client/export.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/prop_commands.c,

subversion/libsvn_client/ra.c,

subversion/libsvn_client/locking_commands.c,

subversion/libsvn_client/cat.c,

subversion/libsvn_client/copy.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_client/blame.c,

subversion/libsvn_client/commit_util.c,

subversion/libsvn_client/cleanup.c,

subversion/libsvn_client/add.c,

subversion/libsvn_client/commit.c,

subversion/libsvn_client/client.h,

subversion/libsvn_client/mergeinfo.h:

Don't create a wc_context, just use the one in the client context. Also,

adjust function parameter lists and batons to eliminate redundant

wc_context members.

* subversion/libsvn_client/ctx.c

(svn_client_create_context): Create a wc context.

  1. … 3 more files in changeset.
Sprinkle some const-correctness on the unidiff application code.

Suggested by: gstein

* subversion/libsvn_client/patch.c

(patch_target_t): Mark two fields const.

(apply_textdiffs, init_patch_target, determine_hunk_line,

merge_hunk, apply_one_hunk, maybe_send_patch_target_notification,

apply_one_patch): Mark some parameters const.

Improve a doc string.

* subversion/include/svn_client.h

(svn_client_list_func_t): Rewrite the doc string to be more explicit and

detailed.

Refactor the unidiff application code for readability and cleaner logic.

No functional change intended.

* subversion/libsvn_client/patch.c

(patch_target_t): Move some field declarations around, and add

new fields KIND and SKIPPED. Also tweak a comment.

(report_skipped_target): Remove this function. All notifications are

now handled at one single place.

(resolve_target_path): Remove output parameters RESOLVED and EXISTS,

and all calls to report_skipped_target(). Make use of the new KIND

and SKIPPED fields in patch_target_t instead. Also tweak and remove

some comments.

(check_local_mods): New helper function.

(init_patch_target): Track changes to resolve_target_path(), and use

the new check_local_mods() helper.

(copy_lines_to_target): Drive-by whitespace fix.

(maybe_send_patch_target_notification): New helper function that handles

notifications.

(apply_one_patch): Clean up the logic by using the new KIND and SKIPPED

fields in patch_target_t and delegate notification business to the

new helper function maybe_send_patch_target_notification().

* COMMITTERS: Move myself to dormant section.

cmdline-test-factory: Remove code bloat, comment.

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

(TestFactory.switch): Use shlex.split() instead of own parsing.

(TestFactory.tokenize): Remove.

(TestFactory.path2svntest): Remove obsolete arg. Comment.

(split_remove_empty): Fix default arg, use filter() instead of loop.

Update callers of svn_wc_prop_set3() internal to libsvn_wc by creating

a library-private function which does the real work, and calling that

everywhere.

* subversion/libsvn_wc/props.c

(svn_wc__internal_propset): New.

(svn_wc_prop_set4): Call the internal function, obtaining a wc_db from

the wc_context.

* subversion/libsvn_wc/props.h

(svn_wc__internal_propset): New.

* subversion/libsvn_wc/copy.c

(copy_props): Add a db parameter, and get rid of an access baton param,

update API to use the internal propset function.

(copy_added_file_administratively, copy_added_dir_administratively):

Update call to copy_props().

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

Remove unnecessary shebang line.

Found by: stsp

Attempt to fix the windows tests by ensuring we destroy the wc_context

prior to exiting svn_client_commit4().

* subversion/libsvn_client/commit.c

(svn_client_commit4): Destroy the wc_context. Also, create the wc_context

a bit later (after all the early outs).

Fix test_lock in the Python bindings testsuite.

* subversion/bindings/swig/python/tests/wc.py:

(SubversionWorkingCopyTestCase.test_lock): Assign the lock a token, and

lock /trunk/README.txt instead of /.

Patch by: Roman <DXDragon@yandex.ru>