Checkout Tools
  • last updated 6 hours ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 878444 is being indexed.

Relicense Subversion under the Apache License, Version 2.0.

* NOTICE: New.



subversion/LICENSE: Remove.

* subversion/libsvn_subr/opt.c

(svn_opt__print_version_info): Note that the product as a whole is

copyrighted by the SVN Corp, and that it contains contributions from

many people, as referenced in NOTICE.

* subversion/bindings/swig/python/LICENSE_FOR_PYTHON_BINDINGS:

Relicense the SVN parts under Apache 2.0.

* everywhere:

Change copyright notices in file headers to reflect the Apache 2.0 license.

  1. … 868 more files in changeset.
* subversion/bindings/ctypes-python/csvn/

* tools/client-side/svnmucc/

* tools/dist/ Update some calls to print() for compatibility

with Python 3.

On the subtree-mergeinfo branch: More notes.

* notes/subtree-mergeinfo/solutions-whiteboard.txt

* notes/subtree-mergeinfo/the-performance-problem.txt

Revert r38363, and add a note about what is going on here.

r38363 should be correct, but something is failing, and it isn't clear why.

This needs to be fixed, but keeping the tests passing (especially since I'm

leaving town shortly) is probably in the best interested of the community

in the short term.

Followup to r38365, setting more svn:eol-style properties on files I missed.

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

* packages/windows-WiX/BuildSubversion/WixDialog/*.wxl

* packages/windows-WiX/BuildSubversion/WixDialog/*.wxs

* packages/windows-WiX/BuildSubversion/WixDialog/loc/en-us/*.wxl

Set svn:eol-style property to native.

  1. … 8 more files in changeset.
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.

* 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


* subversion/libsvn_wc/adm_ops.c

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


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.

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

add it to some variables and mark them for substitution.

* Set some variables.

Update libsvn_wc functions to not use the deprecated svn_wc_get_prop_diffs()


* 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


* 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


* 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.


(NEON_RECOMMENDED_VER): Recommend Neon 0.28.5.

* tools/dist/

(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


* 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,
















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


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


(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.