This shows all core code commits in February, including trunk and relevant branches. 274 commits in all 17 Found by 18 Suggested by 17 Patch by So, about 12% are found or suggested. ------------------------------------------------------------------------ r29137 | cmpilato | 2008-02-01 13:43:43 -0500 (Fri, 01 Feb 2008) | 8 lines Changed paths: M /branches/svnadmin-upgrade/subversion/svnadmin/main.c On the 'svnadmin-upgrade' branch, fix a copy-n-pasto. * subversion/svnadmin/main.c (subcommand_upgrade): Make one of the two checks for the SVN_ERR_REPOS_UNSUPPORTED_UPGRADE error into a check for SVN_ERR_FS_UNSUPPORTED_UPGRADE as originally intended. Found by: glasser ------------------------------------------------------------------------ r29235 | kameshj | 2008-02-08 09:54:38 -0500 (Fri, 08 Feb 2008) | 10 lines Changed paths: M /branches/issue-2897/subversion/libsvn_client/merge.c On the issue-2897 branch: Improve documentation. * subversion/libsvn_client/merge.c (merge_cmd_baton_t.reflective_rev_affected_paths): Improve documentation. Suggested by: glasser ------------------------------------------------------------------------ r29260 | kfogel | 2008-02-10 00:16:32 -0500 (Sun, 10 Feb 2008) | 45 lines Changed paths: M /branches/capabilities-abstraction/subversion/libsvn_ra/ra_loader.h M /branches/capabilities-abstraction/subversion/libsvn_ra_neon/ra_neon.h M /branches/capabilities-abstraction/subversion/libsvn_ra_neon/session.c M /branches/capabilities-abstraction/subversion/libsvn_ra_serf/ra_serf.h M /branches/capabilities-abstraction/subversion/libsvn_ra_serf/serf.c M /branches/capabilities-abstraction/subversion/libsvn_ra_svn/client.c M /branches/capabilities-abstraction/subversion/libsvn_ra_svn/marshal.c M /branches/capabilities-abstraction/subversion/libsvn_ra_svn/ra_svn.h On the capabilities-abstraction branch: Start unifying some of the capabilities code, because r29259 made it clearer than ever that we have a duplication problem (although solving that problem may turn out not to be worth the trouble). * subversion/libsvn_ra/ra_loader.h (struct svn_ra_session_t): Add new server_capabilities field. (svn_ra__server_capability_yes, svn_ra__server_capability_no, svn_ra__server_capability_server_yes): New extern constants. * subversion/libsvn_ra_neon/ra_neon.h (ne_request_dispatch): Rename capabilities to server_capabilities and document that it refers outward now. * subversion/libsvn_ra_serf/ra_serf.h (svn_ra_serf__conn_setup): Rename capabilities to server_capabilities and document that it refers outward now. * subversion/libsvn_ra_svn/ra_svn.h (struct svn_ra_svn_conn_st): Rename capabilities field to server_capabilities, add comment about unresolved issues. (struct svn_ra_svn__session_baton_t): Add new server_capabilities field, document that it refers outward to the svn_ra_session_t object. * subversion/libsvn_ra_svn/marshal.c (svn_ra_svn_has_capability, svn_ra_svn_set_capabilities): Leave comments reminding about namespace issues. (svn_ra_svn_create_conn): Adjust, and add comment saying what needs to happen. * subversion/libsvn_ra_svn/client.c (open_session): Take new server_capabilities hash argument, set it in conn, and add comments saying what's left to be done. (ra_svn_reparent): Pass ra_session->server_capabilities to open_session, and add comment about unresolved questions. * subversion/libsvn_ra_neon/session.c (parse_capabilities, svn_ra_neon__has_capability, svn_ra_neon__has_capability): Adjust for new names. * subversion/libsvn_ra_serf/serf.c (exchange_capabilities, svn_ra_serf__has_capability, svn_ra_serf__open): Adjust for new names. ------------------------------------------------------------------------ r29259 | kfogel | 2008-02-09 23:50:26 -0500 (Sat, 09 Feb 2008) | 35 lines Changed paths: M /branches/mergeinfo-capability/subversion/include/svn_ra.h M /branches/mergeinfo-capability/subversion/libsvn_client/update.c M /branches/mergeinfo-capability/subversion/libsvn_ra_neon/session.c M /branches/mergeinfo-capability/subversion/libsvn_ra_serf/serf.c On the mergeinfo-capability branch: Start on issue #3089: only report mergeinfo capability if repository supports it. Add correct mergeinfo probing to the client side for DAV RA layers. Still to come: ra_svn, ra_local, and ensuring that FSFS backend actually returns unsupported-feature svn_fs_get_mergeinfo is called on an un-upgraded repository. [Note: the code duplication here, plus that already present in the RA capabilities code, led me to start the capabilities-abstraction branch. However, I'm not sure yet that the benefits of de-duplication will outweigh the costs -- the path below may well be the one we stay on.] * subversion/libsvn_ra_serf/serf.c (capability_server_yes): New capability state. (capabilities_headers_iterator_callback): Set above state for mergeinfo. (svn_ra_serf__has_capability): Only claim mergeinfo capability if repository supports it as well as server. * subversion/libsvn_ra_neon/session.c (capability_server_yes): New capability state. (parse_capabilities): Set above state for mergeinfo. (svn_ra_neon__has_capability): Only't claim mergeinfo capability if repository supports it as well as server. * subversion/include/svn_ra.h (svn_ra_get_mergeinfo): Correct a comment about mergeinfo support. * subversion/libsvn_client/update.c (svn_client__update_internal): Insert temporary debugging call to probe mergeinfo capability during updates. ------------------------------------------------------------------------ r29265 | kfogel | 2008-02-10 23:25:24 -0500 (Sun, 10 Feb 2008) | 5 lines Changed paths: M /branches/mergeinfo-capability/subversion/libsvn_client/update.c On the mergeinfo-capability branch: * subversion/libsvn_client/update.c (svn_client__update_internal): Remove debugging hack. ------------------------------------------------------------------------ r29264 | kfogel | 2008-02-10 23:24:57 -0500 (Sun, 10 Feb 2008) | 20 lines Changed paths: M /branches/mergeinfo-capability/subversion/include/svn_ra.h M /branches/mergeinfo-capability/subversion/libsvn_ra_local/ra_plugin.c M /branches/mergeinfo-capability/subversion/libsvn_ra_neon/session.c M /branches/mergeinfo-capability/subversion/libsvn_ra_serf/serf.c M /branches/mergeinfo-capability/subversion/libsvn_ra_svn/client.c On the mergeinfo-capability branch: Certain errors actually indicate that the repository supports mergeinfo; handle them accordingly. * subversion/include/svn_ra.h (svn_ra_get_mergeinfo): Document error behaviors that we depend on. * subversion/libsvn_ra_svn/client.c (ra_svn_has_capability): Treat path-not-found as success. * subversion/libsvn_ra_local/ra_plugin.c (svn_ra_local__has_capability): Same. * subversion/libsvn_ra_serf/serf.c (svn_ra_serf__has_capability): Same. * subversion/libsvn_ra_neon/session.c (svn_ra_neon__has_capability): Same. ------------------------------------------------------------------------ r29263 | kfogel | 2008-02-10 20:37:52 -0500 (Sun, 10 Feb 2008) | 22 lines Changed paths: M /branches/mergeinfo-capability/subversion/libsvn_ra_local/ra_local.h M /branches/mergeinfo-capability/subversion/libsvn_ra_local/ra_plugin.c M /branches/mergeinfo-capability/subversion/libsvn_ra_svn/client.c M /branches/mergeinfo-capability/subversion/libsvn_ra_svn/ra_svn.h On the mergeinfo-capability branch: Take care of ra_svn: * subversion/libsvn_ra_svn/ra_svn.h (svn_ra_svn__session_baton_t): New field repository_supports_mergeinfo. * subversion/libsvn_ra_svn/client.c (open_session): Initialize above new field. (ra_svn_has_capability): If necessary, ask the repository whether it supports mergeinfo, and store the answer in the new field. And do ra_local the same way: * subversion/libsvn_ra_local/ra_local.h (svn_ra_local__session_baton_t): New field repository_supports_mergeinfo. * subversion/libsvn_ra_local/ra_plugin.c (svn_ra_local__open): Initialize above new field. (svn_ra_local__has_capability): If necessary, ask the repository whether it supports mergeinfo, and store the answer in the new field. ------------------------------------------------------------------------ r29266 | kfogel | 2008-02-10 23:27:48 -0500 (Sun, 10 Feb 2008) | 9 lines Changed paths: M /branches/mergeinfo-capability/subversion/libsvn_ra_neon/session.c M /branches/mergeinfo-capability/subversion/libsvn_ra_serf/serf.c On the mergeinfo-capability branch: * subversion/libsvn_ra_serf/serf.c (svn_ra_serf__has_capability): Include string constant by reference, instead of writing it out again. * subversion/libsvn_ra_neon/session.c (svn_ra_neon__has_capability): Same. ------------------------------------------------------------------------ r29314 | kfogel | 2008-02-13 03:14:42 -0500 (Wed, 13 Feb 2008) | 83 lines Changed paths: M /branches/mergeinfo-capability/subversion/include/svn_ra_svn.h M /branches/mergeinfo-capability/subversion/include/svn_repos.h M /branches/mergeinfo-capability/subversion/libsvn_client/update.c M /branches/mergeinfo-capability/subversion/libsvn_ra_local/ra_local.h M /branches/mergeinfo-capability/subversion/libsvn_ra_local/ra_plugin.c M /branches/mergeinfo-capability/subversion/libsvn_ra_svn/client.c M /branches/mergeinfo-capability/subversion/libsvn_ra_svn/protocol M /branches/mergeinfo-capability/subversion/libsvn_ra_svn/ra_svn.h M /branches/mergeinfo-capability/subversion/libsvn_repos/repos.c M /branches/mergeinfo-capability/subversion/libsvn_repos/repos.h M /branches/mergeinfo-capability/subversion/mod_dav_svn/reports/mergeinfo.c M /branches/mergeinfo-capability/subversion/svnserve/serve.c On the mergeinfo-capability branch: Report mergeinfo capability more efficiently over ra_svn and ra_local. For ra_svn, this avoids the extra round trip of r29263. Suggested by: glasser ######################################################################### ### ### ### STATUS ### ### ### ### ra_dav and ra_local pass; ra_svn gets a typical error as in ### ### http://subversion.tigris.org/hacking.html#debugging-ra-svn: ### ### ### ### $ svn co svn://localhost/repos wc ### ### subversion/libsvn_ra_svn/marshal.c:755: (apr_err=210004) ### ### svn: Malformed network data ### ### ### ### There's a protocol trace at http://pastebin.ca/902213; nothing ### ### jumped out at me, but it's late. Will pick up in after sleep. ### ### ### ### Followup: turned out to be a nesting problem, see r29315. ### ### ### ######################################################################### First make an interface to ask the repository if it supports mergeinfo: * subversion/include/svn_repos.h (svn_repos_has_capability): New prototype. (SVN_REPOS_CAPABILITY_MERGEINFO): New capability. * subversion/libsvn_repos/repos.h (repository_capabilities): New field. * subversion/libsvn_repos/repos.c (create_svn_repos_t): Initialize new repository_capabilities field. (capability_yes, capability_no): New static constant strings. (svn_repos_has_capability): New function. Then make svnserve use it, and report back to the client early: * subversion/svnserve/serve.c (serve): Only report mergeinfo capability if repos supports it. * subversion/libsvn_ra_svn/ra_svn.h (svn_ra_svn__session_baton_t): Remove repository_supports_mergeinfo field that was introduced in r29263. * subversion/libsvn_ra_svn/client.c (open_session): Expect repos capabilities to arrive separately. Remove repository_supports_mergeinfo initialization. (ra_svn_has_capability): Remove extra round trip introduced in r29263. * subversion/include/svn_ra_svn.h (svn_ra_svn_set_capabilities): Document idempotency. * subversion/libsvn_ra_svn/protocol: Document where repository capabilities fit in. Make ra_local use the new interface too: * subversion/libsvn_ra_local/ra_local.h (svn_ra_local__session_baton_t): Remove repository_supports_mergeinfo field that was introduced in r29263. * subversion/libsvn_ra_local/ra_plugin.c (svn_ra_local__open): Remove repository_supports_mergeinfo initialization. (svn_ra_local__has_capability): Just ask repository directly if it has mergeinfo capability, and while we're at it, tighten the conditional structure introduced in r29263. Unrelatedly, make mod_dav transmit an svn_error_t correctly: * subversion/mod_dav_svn/reports/mergeinfo.c (dav_svn__get_mergeinfo_report): Don't flush before returning error, as flushing might obscure the error due to certain intricacies of mod_dav's plumbing. DEBUGGING BLOCK -- REMOVE THIS WHEN DONE TESTING: * subversion/libsvn_client/update.c (svn_client__update_internal): YO. ------------------------------------------------------------------------ r29315 | kfogel | 2008-02-13 03:30:23 -0500 (Wed, 13 Feb 2008) | 7 lines Changed paths: M /branches/mergeinfo-capability/subversion/svnserve/serve.c On the mergeinfo-capability branch: Follow up to r29314 with a protocol correction. * subversion/svnserve/serve.c (serve): A list always follows "success". D'oh. ------------------------------------------------------------------------ r29343 | kfogel | 2008-02-14 00:43:39 -0500 (Thu, 14 Feb 2008) | 7 lines Changed paths: M /branches/mergeinfo-capability/subversion/libsvn_ra_svn/protocol Follow up to r29314 with a documentation correction. * subversion/libsvn_ra_svn/protocol: The repos capabilities list is on repos-info, not auth-request. Found by: glasser ------------------------------------------------------------------------ r29312 | glasser | 2008-02-12 22:51:07 -0500 (Tue, 12 Feb 2008) | 167 lines Changed paths: M /branches/mergeinfo-api-cleanup/subversion/include/private/svn_mergeinfo_private.h M /branches/mergeinfo-api-cleanup/subversion/include/svn_client.h M /branches/mergeinfo-api-cleanup/subversion/include/svn_fs.h M /branches/mergeinfo-api-cleanup/subversion/include/svn_mergeinfo.h M /branches/mergeinfo-api-cleanup/subversion/include/svn_ra.h M /branches/mergeinfo-api-cleanup/subversion/include/svn_repos.h M /branches/mergeinfo-api-cleanup/subversion/libsvn_client/merge.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_client/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_client/mergeinfo.h M /branches/mergeinfo-api-cleanup/subversion/libsvn_fs/fs-loader.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_fs/fs-loader.h M /branches/mergeinfo-api-cleanup/subversion/libsvn_fs_base/tree.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_fs_fs/tree.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_ra/ra_loader.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_ra/ra_loader.h M /branches/mergeinfo-api-cleanup/subversion/libsvn_ra_local/ra_plugin.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_ra_neon/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_ra_serf/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_ra_svn/client.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_repos/fs-wrap.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_subr/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/mod_dav_svn/reports/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/svn/mergeinfo-cmd.c M /branches/mergeinfo-api-cleanup/subversion/svnserve/serve.c On the mergeinfo-api-cleanup branch: - Introduce the typedefs "svn_mergeinfo_t" and "svn_mergeinfo_catalog_t". Change many occurrences of apr_hash_t to use these typedefs. Remove old terminology like "mergeinfo hash" and "mergeinfo by path" in many places. - Add notes labeled TODO(miapi) to various places where I believe the API needs to be improved. Specifically, svn_[repos_]fs_get_mergeinfo ought to return an svn_mergeinfo_catalog_t instead of an "unparsed" version; and several mergeinfo and rangelist APIs are unused or encourage the creation of invalid mergeinfos. SUBR LAYER * subversion/include/svn_mergeinfo.h (Terminology for data structures that contain mergeinfo): New comment section. (svn_mergeinfo_t, svn_mergeinfo_catalog_t): New. (svn_mergeinfo_parse): Update types. Recommend changing argument to svn_string_t *. (svn_mergeinfo_diff, svn_mergeinfo_merge, svn_mergeinfo_remove, svn_mergeinfo_intersect, svn_mergeinfo_inheritable, svn_mergeinfo_dup): Update types. (svn_rangelist_reverse, svn_mergeinfo_sort): Recommend removing (or privatizing), because they imply that rangelists can legally be unsorted. (svn_rangelist_count_revs, svn_rangelist_to_revs, svn_range_compact): Consider removing unused APIs. (svn_rangelist_to_stringbuf, svn_mergeinfo_to_stringbuf): Recommend replacing with immutable-string versions. * subversion/include/private/svn_mergeinfo_private.h (svn_mergeinfo__to_string): Update types. Recommend that this replace the public svn_mergeinfo_to_stringbuf. (svn_mergeinfo__equals, svn_mergeinfo__remove_empty_rangelists): Update types. * subversion/libsvn_subr/mergeinfo.c (parse_revision_line, parse_top, svn_mergeinfo_parse, walk_mergeinfo_hash_for_diff, svn_mergeinfo_diff, svn_mergeinfo__equals, svn_mergeinfo_merge, svn_mergeinfo_intersect, svn_mergeinfo_remove, svn_mergeinfo_to_stringbuf, svn_mergeinfo__to_string, svn_mergeinfo_sort, svn_mergeinfo_dup, svn_mergeinfo_inheritable, svn_mergeinfo__remove_empty_rangelists): Update types. FS LAYER * subversion/include/svn_fs.h (svn_fs_get_mergeinfo): Update types. Note poor return type. * subversion/libsvn_fs/fs-loader.h (struct root_vtable_t.get_mergeinfo): Update types. * subversion/libsvn_fs/fs-loader.c (svn_fs_get_mergeinfo): Update types. * subversion/libsvn_fs_base/tree.c (struct get_mergeinfo_data_and_entries_baton, txn_body_get_mergeinfo_data_and_entries, crawl_directory_for_mergeinfo, append_to_merged_froms, base_get_mergeinfo): Update types. (struct get_mergeinfo_for_path_baton, txn_body_get_mergeinfo_for_path, get_mergeinfos_for_paths): Rename from struct get_mergeinfo_hash_for_path_baton, txn_body_get_mergeinfo_hash_for_path, and get_mergeinfo_hashes_for_paths. Note the existence of a bug in a TODO(miapi). * subversion/libsvn_fs_fs/tree.c (crawl_directory_for_mergeinfo, append_to_merged_froms, add_descendant_mergeinfo, fs_get_mergeinfo): Update types. (get_mergeinfo_for_path, get_mergeinfos_for_paths): Rename from get_mergeinfo_hash_for_path and get_mergeinfo_hashes_for_paths. Note the existence of a bug in a TODO(miapi). REPOS LAYER * subversion/include/svn_repos.h (svn_repos_fs_get_mergeinfo): Update types. Note poor return type. * subversion/libsvn_repos/fs-wrap.c (svn_repos_fs_get_mergeinfo): Update types. RA LAYER * subversion/include/svn_ra.h (svn_ra_get_mergeinfo): Update types. * subversion/libsvn_ra/ra_loader.h (struct svn_ra__vtable_t.get_mergeinfo): Update types. * subversion/libsvn_ra/ra_loader.c (svn_ra_get_mergeinfo): Update types. * subversion/libsvn_ra_local/ra_plugin.c (svn_ra_local__get_mergeinfo): Update types. * subversion/libsvn_ra_svn/client.c (ra_svn_get_mergeinfo): Update types. * subversion/svnserve/serve.c (get_mergeinfo): Update types. * subversion/libsvn_ra_neon/mergeinfo.c (struct mergeinfo_baton, end_element, svn_ra_neon__get_mergeinfo): Update types. * subversion/libsvn_ra_serf/mergeinfo.c (struct mergeinfo_context_t, end_element, svn_ra_serf__get_mergeinfo): Update types. * subversion/mod_dav_svn/reports/mergeinfo.c (dav_svn__get_mergeinfo_report): Update types. CLIENT LAYER * subversion/include/svn_client.h (svn_client_mergeinfo_get_merged): Update types. * subversion/libsvn_client/mergeinfo.h (struct svn_client__merge_path_t, svn_client__get_wc_mergeinfo, svn_client__get_repos_mergeinfo, svn_client__get_wc_or_repos_mergeinfo, svn_client__get_history_as_mergeinfo, svn_client__mergeinfo_from_segments, svn_client__parse_mergeinfo, svn_client__record_wc_mergeinfo, svn_client__elide_children, svn_client__elide_mergeinfo_catalog): Update types. * subversion/libsvn_client/merge.c (filter_self_referential_mergeinfo, filter_merged_revisions, calculate_remaining_ranges, get_full_mergeinfo, populate_remaining_ranges, update_wc_mergeinfo, record_mergeinfo_for_record_only_merge, mark_mergeinfo_as_inheritable_for_a_range, record_mergeinfo_on_merged_children, struct get_mergeinfo_walk_baton, get_mergeinfo_walk_cb, get_mergeinfo_paths, do_file_merge, do_directory_merge, ensure_all_missing_ranges_are_phantoms, remove_irrelevant_ranges, calculate_left_hand_side, svn_client_merge_reintegrate): Update types. * subversion/libsvn_client/mergeinfo.c (svn_client__parse_mergeinfo, svn_client__record_wc_mergeinfo, adjust_mergeinfo_source_paths, svn_client__get_wc_mergeinfo, svn_client__get_repos_mergeinfo, svn_client__get_wc_or_repos_mergeinfo, svn_client__mergeinfo_from_segments, svn_client__get_history_as_mergeinfo, should_elide_mergeinfo, svn_client__elide_children, svn_client__elide_mergeinfo, get_mergeinfo, struct elide_mergeinfo_catalog_dir_baton, struct elide_mergeinfo_catalog_cb_baton, svn_client__elide_mergeinfo_catalog, svn_client_mergeinfo_get_merged, svn_client_mergeinfo_get_available, svn_client_suggest_merge_sources): Update types. APPLICATION LAYER * subversion/svn/mergeinfo-cmd.c (svn_cl__mergeinfo): Update types. ------------------------------------------------------------------------ r29337 | glasser | 2008-02-13 19:46:17 -0500 (Wed, 13 Feb 2008) | 5 lines Changed paths: M /branches/mergeinfo-api-cleanup/subversion/include/svn_mergeinfo.h On the mergeinfo-api-cleanup branch: * subversion/include/svn_mergeinfo.h Explicitly define rangelists as being sorted. ------------------------------------------------------------------------ r29339 | glasser | 2008-02-13 20:51:07 -0500 (Wed, 13 Feb 2008) | 63 lines Changed paths: M /branches/mergeinfo-api-cleanup/subversion/include/private/svn_mergeinfo_private.h M /branches/mergeinfo-api-cleanup/subversion/include/svn_fs.h M /branches/mergeinfo-api-cleanup/subversion/include/svn_mergeinfo.h M /branches/mergeinfo-api-cleanup/subversion/include/svn_repos.h M /branches/mergeinfo-api-cleanup/subversion/libsvn_fs_base/tree.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_fs_fs/tree.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_ra_local/ra_plugin.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_repos/fs-wrap.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_repos/log.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_repos/rev_hunt.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_subr/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/mod_dav_svn/reports/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/svnserve/serve.c On the mergeinfo-api-cleanup branch: Change svn_[repos_]fs_get_mergeinfo to return a normal (parsed) catalog rather than a hash of strings. This is for consistency with every other use of catalogs. Other changes falling out of this include making svn_repos_fs_get_mergeinfo never return NULL (just like svn_fs_get_mergeinfo), and making the include_descendants flag actually work instead of accidentally forgetting to copy descendants in the implementations of svn_fs_get_mergeinfo. * subversion/include/svn_mergeinfo.h Add a note that the keys of a catalog may be relative to an RA session root. * subversion/include/svn_fs.h (svn_fs_get_mergeinfo): Remove addressed TODO(miapi). * subversion/libsvn_fs_base/tree.c (base_get_mergeinfo): Remove TODO(miapi). Don't stringify return value. * subversion/libsvn_fs_fs/tree.c (fs_get_mergeinfo): Remove TODO(miapi). Don't stringify return value. * subversion/include/svn_repos.h (svn_repos_fs_get_mergeinfo): Update docstring and remove TODO(miapi). * subversion/libsvn_repos/fs-wrap.c (svn_repos_fs_get_mergeinfo): Never return NULL. * subversion/libsvn_repos/log.c (get_combined_mergeinfo): Update some types. Don't need to parse mergeinfos any more (but do need to dup out of subpool). (get_merged_rev_mergeinfo): Update types. * subversion/libsvn_repos/rev_hunt.c (get_path_mergeinfo): Update some types. Don't need to parse mergeinfos any more (but do need to dup out of subpool). * subversion/include/private/svn_mergeinfo_private.h * subversion/libsvn_subr/mergeinfo.c (svn_mergeinfo__remove_prefix_from_catalog): Declare new helper, factored out of all of the server implementations. * subversion/libsvn_ra_local/ra_plugin.c Include svn_mergeinfo_private.h. (svn_ra_local__get_mergeinfo): Don't parse catalog; use new helper to adjust paths. * subversion/svnserve/serve.c Include svn_mergeinfo_private.h. (get_mergeinfo): Update some types. Stringify mergeinfos. Rely on non-NULLity of catalog. * subversion/mod_dav_svn/reports/mergeinfo.c Include svn_mergeinfo_private.h. (dav_svn__get_mergeinfo_report): Update some types. Stringify mergeinfos. Rely on non-NULLity of catalog. ------------------------------------------------------------------------ r29347 | glasser | 2008-02-14 14:53:23 -0500 (Thu, 14 Feb 2008) | 52 lines Changed paths: M /branches/mergeinfo-api-cleanup/subversion/include/private/svn_mergeinfo_private.h M /branches/mergeinfo-api-cleanup/subversion/include/svn_mergeinfo.h M /branches/mergeinfo-api-cleanup/subversion/libsvn_client/copy.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_client/merge.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_client/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_repos/load.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_subr/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_wc/props.c M /branches/mergeinfo-api-cleanup/subversion/mod_dav_svn/reports/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/svndumpfilter/main.c M /branches/mergeinfo-api-cleanup/subversion/svnserve/serve.c M /branches/mergeinfo-api-cleanup/subversion/tests/libsvn_subr/mergeinfo-test.c On the mergeinfo-api-cleanup branch: Get rid of svn_mergeinfo_to_stringbuf API (whose result value was never actually mutated) and elevate svn_mergeinfo__to_string to public status. (Update a few types to use svn_mergeinfo_t while I'm at it.) * subversion/include/private/svn_mergeinfo_private.h (svn_mergeinfo__to_string): Remove declaration. * subversion/include/svn_mergeinfo.h (svn_mergeinfo_to_stringbuf): Remove declaration. (svn_mergeinfo_to_string): Add declaration. * subversion/libsvn_client/copy.c (repos_to_repos_copy, wc_to_repos_copy): Adjust. * subversion/libsvn_client/merge.c (do_file_merge): Adjust. * subversion/libsvn_client/mergeinfo.c (svn_client__record_wc_mergeinfo): Adjust. * subversion/libsvn_repos/load.c (prefix_mergeinfo_paths, renumber_mergeinfo_revs): Adjust. * subversion/libsvn_subr/mergeinfo.c (mergeinfo_to_stringbuf): Rename from svn_mergeinfo_to_stringbuf. Simplify handling of last element. (svn_mergeinfo_to_string): Rename from svn_mergeinfo__to_string. Adjust. * subversion/libsvn_wc/props.c (diff_mergeinfo_props, combine_mergeinfo_props, combine_forked_mergeinfo_props, apply_single_prop_change): Adjust, and update some types. * subversion/mod_dav_svn/reports/mergeinfo.c (dav_svn__get_mergeinfo_report): Adjust. * subversion/svndumpfilter/main.c (adjust_mergeinfo): Adjust. * subversion/svnserve/serve.c (get_mergeinfo): Adjust. * subversion/tests/libsvn_subr/mergeinfo-test.c (test_merge_mergeinfo): Remove ignored use of svn_mergeinfo__to_stringbuf. (test_mergeinfo_to_string): Adjust. ------------------------------------------------------------------------ r29349 | glasser | 2008-02-14 15:26:41 -0500 (Thu, 14 Feb 2008) | 24 lines Changed paths: M /branches/mergeinfo-api-cleanup/subversion/include/svn_mergeinfo.h M /branches/mergeinfo-api-cleanup/subversion/libsvn_client/diff.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_client/merge.c M /branches/mergeinfo-api-cleanup/subversion/libsvn_subr/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/tests/libsvn_subr/mergeinfo-test.c On the mergeinfo-api-cleanup branch: Replace svn_rangelist_to_stringbuf (whose return value is never used like a stringbuf) with svn_rangelist_to_string. * subversion/include/svn_mergeinfo.h (svn_rangelist_to_string): New, replacing svn_rangelist_to_stringbuf. * subversion/libsvn_client/diff.c (display_mergeinfo_diff): Adjust. * subversion/libsvn_client/merge.c (filter_self_referential_mergeinfo): Adjust. * subversion/libsvn_subr/mergeinfo.c (range_to_string): Replace range_to_stringbuf. (combine_with_adjacent_lastrange): Adjust. (svn_rangelist_to_string): Replace svn_rangelist_to_stringbuf. (mergeinfo_to_stringbuf): Adjust. * subversion/tests/libsvn_subr/mergeinfo-test.c (test_rangelist_to_string): Adjust. ------------------------------------------------------------------------ r29354 | glasser | 2008-02-14 16:05:18 -0500 (Thu, 14 Feb 2008) | 8 lines Changed paths: M /branches/mergeinfo-api-cleanup/subversion/libsvn_wc/props.c On the mergeinfo-api-cleanup branch: Follow-up to r29347: put back an accidentally-deleted &. (Fixes merge_tests 85.) * subversion/libsvn_wc/props.c (apply_single_prop_change): Oops. ------------------------------------------------------------------------ r29372 | glasser | 2008-02-14 21:27:31 -0500 (Thu, 14 Feb 2008) | 9 lines Changed paths: M /branches/mergeinfo-api-cleanup/subversion/include/svn_mergeinfo.h On the mergeinfo-api-cleanup branch: Don't complain in a TODO(miapi) about svn_mergeinfo_parse taking a const char * instead of an svn_string_t. It's not worth the effort to change (and legal values shouldn't contain '\0' anyway). * subversion/include/svn_mergeinfo.h (svn_mergeinfo_parse): Remove TODO(miapi) command. ------------------------------------------------------------------------ r29371 | glasser | 2008-02-14 21:25:35 -0500 (Thu, 14 Feb 2008) | 14 lines Changed paths: M /branches/mergeinfo-api-cleanup/subversion/include/svn_mergeinfo.h M /branches/mergeinfo-api-cleanup/subversion/libsvn_subr/mergeinfo.c M /branches/mergeinfo-api-cleanup/subversion/tests/libsvn_subr/mergeinfo-test.c On the mergeinfo-api-cleanup branch: Remove unused svn_range_compact API. We can always add it back if it's useful. (Though we should probably call it svn_merge_range_compact for consistency.) * subversion/include/svn_mergeinfo.h * subversion/libsvn_subr/mergeinfo.c (svn_range_compact): Remove * subversion/tests/libsvn_subr/mergeinfo-test.c (test_range_compact): Remove. (test_funcs): Adjust. ------------------------------------------------------------------------ r29370 | glasser | 2008-02-14 19:28:57 -0500 (Thu, 14 Feb 2008) | 9 lines Changed paths: M /branches/mergeinfo-api-cleanup/subversion/include/svn_mergeinfo.h On the mergeinfo-api-cleanup branch: Remove existential questions from two APIs, because hwright says they might be useful for 'log -g'. * subversion/include/svn_mergeinfo.h (svn_rangelist_count_revs, svn_rangelist_to_revs): Remove TODO(miapi) marker. ------------------------------------------------------------------------ r29374 | glasser | 2008-02-14 21:38:24 -0500 (Thu, 14 Feb 2008) | 23 lines Changed paths: M /trunk M /trunk/subversion/include/private/svn_mergeinfo_private.h M /trunk/subversion/include/svn_client.h M /trunk/subversion/include/svn_fs.h M /trunk/subversion/include/svn_mergeinfo.h M /trunk/subversion/include/svn_ra.h M /trunk/subversion/include/svn_repos.h M /trunk/subversion/libsvn_client/copy.c M /trunk/subversion/libsvn_client/diff.c M /trunk/subversion/libsvn_client/merge.c M /trunk/subversion/libsvn_client/mergeinfo.c M /trunk/subversion/libsvn_client/mergeinfo.h M /trunk/subversion/libsvn_fs/fs-loader.c M /trunk/subversion/libsvn_fs/fs-loader.h M /trunk/subversion/libsvn_fs_base/tree.c M /trunk/subversion/libsvn_fs_fs/tree.c M /trunk/subversion/libsvn_ra/ra_loader.c M /trunk/subversion/libsvn_ra/ra_loader.h M /trunk/subversion/libsvn_ra_local/ra_plugin.c M /trunk/subversion/libsvn_ra_neon/mergeinfo.c M /trunk/subversion/libsvn_ra_serf/mergeinfo.c M /trunk/subversion/libsvn_ra_svn/client.c M /trunk/subversion/libsvn_repos/fs-wrap.c M /trunk/subversion/libsvn_repos/load.c M /trunk/subversion/libsvn_repos/log.c M /trunk/subversion/libsvn_repos/rev_hunt.c M /trunk/subversion/libsvn_subr/mergeinfo.c M /trunk/subversion/libsvn_wc/props.c M /trunk/subversion/mod_dav_svn/reports/mergeinfo.c M /trunk/subversion/svn/mergeinfo-cmd.c M /trunk/subversion/svndumpfilter/main.c M /trunk/subversion/svnserve/serve.c M /trunk/subversion/tests/libsvn_subr/mergeinfo-test.c Merge the mergeinfo-api-cleanup branch to trunk. Major changes: * Add typedefs of svn_mergeinfo_t and svn_mergeinfo_catalog_t for (apr_hash_t *); use them in many places, and remove redundant documentation of these types. * svn_[repos_]fs_get_mergeinfo now return parsed mergeinfo (like svn_ra_get_mergeinfo). * A bug where the include_descendants argument to svn_fs_get_mergeinfo was essentially ignored is fixed. * The routines to stringify mergeinfo and rangelists now make svn_string_t, not svn_stringbuf_t. * The unused API svn_range_compact is removed. * I left in two TODO(miapi) notes about APIs that I think should be removed (because they imply that it's ever OK to have unsorted rangelists). ------------------------------------------------------------------------ r29420 | joeswatosh | 2008-02-19 02:32:02 -0500 (Tue, 19 Feb 2008) | 30 lines Changed paths: M /trunk/subversion/bindings/swig/core.i M /trunk/subversion/bindings/swig/ruby/svn/core.rb M /trunk/subversion/bindings/swig/ruby/test/test_core.rb M /trunk/subversion/bindings/swig/ruby/test/test_fs.rb M /trunk/subversion/bindings/swig/ruby/test/test_repos.rb M /trunk/subversion/bindings/swig/svn_fs.i M /trunk/subversion/bindings/swig/svn_ra.i M /trunk/subversion/bindings/swig/svn_repos.i Follow up to r29374. "Merge the mergeinfo-api-cleanup branch to trunk." * subversion/bindings/swig/core.i (%apply apr_hash_t *MERGEINFO): Apply typemap to parameters named mergeinput. (%apply apr_hash_t *MERGEINFO_HASH): Apply typemap to parameters named catagory * subversion/bindings/swig/svn_ra.i (%apply apr_hash_t *MERGEINFO_HASH): Removed. * subversion/bindings/swig/svn_fs.i * subversion/bindings/swig/svn_repos.i (%apply apr_hash_t *HASH_CSTRING): Removed. * subversion/bindings/swig/ruby/test/test_repos.rb * subversion/bindings/swig/ruby/test/test_fs.rb (SvnReposTest#test_mergeinfo): Expected result is now a mergeinfo instead of a string. * subversion/bindings/swig/ruby/test/test_core.rb (SvnCoreTest#test_mergerange_equality): New test * subversion/bindings/swig/ruby/svn/core.rb (Svn::Core::MergeRange#==): New method. (Svn::Core::MergeInfo#to_s): Use Core.mergeinfo_to_string() instead of Core.mergeinfo_to_stringbuf() (Svn::Core::RangeList#to_s): Use Core.rangelist_to_string() instead of Core.rangelist_to_stringbuf() ------------------------------------------------------------------------ r29368 | cacknin | 2008-02-14 19:00:38 -0500 (Thu, 14 Feb 2008) | 7 lines Changed paths: M /branches/svnpatch-diff/subversion/libsvn_wc/diff.c Bug fix that incidentally allows more fuzzing on directory copy and move operations at patch-generation time. * subversion/libsvn_wc/diff.c (file_diff): Ensure this is the top-most entry to be copied before marking it as a diffable item. ------------------------------------------------------------------------ r29369 | cacknin | 2008-02-14 19:02:27 -0500 (Thu, 14 Feb 2008) | 3 lines Changed paths: M /branches/svnpatch-diff/subversion/libsvn_wc/diff.c * subversion/libsvn_wc/diff.c (file_diff): Whitespace indent fix. ------------------------------------------------------------------------ r29587 | stsp | 2008-02-25 14:25:55 -0500 (Mon, 25 Feb 2008) | 11 lines Changed paths: M /trunk/notes/tree-conflicts/detection.txt Add design discussion notes by Stephen Butler. * notes/tree-conflicts/detection.txt: Expand on use cases 4 to 6 by describing the current plan for finding in the repository history the information needed to detect tree conflicts during merge. Move "true rename" discussion to the end of the file. Also improve wording of existing text a bit. Patch by: Stephen Butler ------------------------------------------------------------------------ r29590 | stsp | 2008-02-25 16:10:19 -0500 (Mon, 25 Feb 2008) | 20 lines Changed paths: M /branches/tree-conflicts/subversion/libsvn_client/info.c M /branches/tree-conflicts/subversion/libsvn_wc/questions.c M /branches/tree-conflicts/subversion/libsvn_wc/tree_conflicts.c On the tree-conflicts branch, apply a few fixes by Stephen Butler and Neels Janosch Hofmeyr. * subversion/libsvn_wc/tree_conflicts.c (read_victim_path): Correct boolean expression in if statement. Chaining checks for inequality with boolean OR does not make much sense. Found by Neels. (read_reason, svn_wc__write_tree_conflicts_to_entry): Add missing case to switch statement. Found by Stephen. * subversion/libsvn_client/info.c (build_info_from_entry): Fix potential reference to uninitialized data. Fix comment to explicitly mention that only this-dir entries carry tree conflict data. Both found by Neels. * subversion/libsvn_wc/questions.c: Same comment fix as in info.c Patch by: Neels Janosch Hofmeyr Stephen Butler ------------------------------------------------------------------------ r29183 | cmpilato | 2008-02-04 18:50:56 -0500 (Mon, 04 Feb 2008) | 4 lines Changed paths: M /branches/fs-rep-sharing/subversion/libsvn_fs_base/dag.c On the 'fs-rep-sharing' branch, rework a function for readability. * subversion/libsvn_fs_base/dag.c (svn_fs_base__dag_finalize_edits): Minor logic reworking. fooo ------------------------------------------------------------------------ r29128 | hwright | 2008-02-01 10:10:00 -0500 (Fri, 01 Feb 2008) | 7 lines Changed paths: M /trunk/tools/dev/graph-dav-servers.py M /trunk/www/images/svn-dav-securityspace-survey.png M /trunk/www/svn-dav-securityspace-survey.html Update the Security Space survey for January 2008. * www/svn-dav-securityspace-survey.html, www/images/svn-dav-securityspace-survey.png, tools/dev/graph-dav-servers.py: Update image and table. ------------------------------------------------------------------------ r29134 | hwright | 2008-02-01 11:58:19 -0500 (Fri, 01 Feb 2008) | 6 lines Changed paths: A /trunk/tools/dist/gen_nightly_ann.py A /trunk/tools/dist/nightly.sh Add a couple of scripts to assist in building nightly tarballs. * tools/dist/nightly.sh, tools/dist/gen_nightly_ann.py: New. ------------------------------------------------------------------------ r29135 | blair | 2008-02-01 12:14:27 -0500 (Fri, 01 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/include/svn_error_codes.h M /trunk/subversion/libsvn_subr/opt.c Follow up to r29127. * subversion/include/svn_error_codes.h * subversion/libsvn_subr/opt.c: Whitespace indentation fixes. ------------------------------------------------------------------------ r29136 | hwright | 2008-02-01 12:31:43 -0500 (Fri, 01 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/libsvn_subr/opt.c Followup to r29127: Cleanup error handling. * subversion/libsvn_subr/opt.c (svn_opt_args_to_target_array2): Rename error variable, simplify error handling logic. (svn_opt_args_to_target_array3): Rename error variable, simplify error creation and usage. ------------------------------------------------------------------------ r29138 | hwright | 2008-02-01 13:58:38 -0500 (Fri, 01 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_subr/opt.c Followup to r29136: Chain errors properly, just like they were in r29127. * subversion/libsvn_subr/opt.c (svn_opt_args_to_target_array3): Chain successive errors together. ------------------------------------------------------------------------ r29139 | cmpilato | 2008-02-01 14:53:37 -0500 (Fri, 01 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/include/svn_error_codes.h M /trunk/subversion/include/svn_fs.h M /trunk/subversion/include/svn_repos.h M /trunk/subversion/libsvn_fs/fs-loader.c M /trunk/subversion/libsvn_fs/fs-loader.h M /trunk/subversion/libsvn_fs_base/fs.c M /trunk/subversion/libsvn_fs_fs/fs.c M /trunk/subversion/libsvn_fs_fs/fs_fs.c M /trunk/subversion/libsvn_fs_fs/fs_fs.h M /trunk/subversion/libsvn_repos/repos.c M /trunk/subversion/svnadmin/main.c Merge all changes (r29086:29138) from the 'svnadmin-upgrade' branch, introducing (of all things) a new 'svnadmin upgrade' subcommand and backing APIs. (Merged branches/svnadmin-upgrade:29087-29138.) ------------------------------------------------------------------------ r29143 | hwright | 2008-02-01 15:12:40 -0500 (Fri, 01 Feb 2008) | 9 lines Changed paths: M /trunk/subversion/libsvn_repos/rev_hunt.c Fix duplicate revision filtering for 'svn blame -g'. We need to set the duplicate revision hash unconditionally (not just when including merged revisions), and we need to use the parent pool so that the key lifetime extends through multiple invocations of find_interesting_revisions(). * subversion/libsvn_repos/rev_hunt.c (find_interesting_revisions): Unconditionally add to the duplicate revision hash, and use the parent pool when doing so. ------------------------------------------------------------------------ r29144 | hwright | 2008-02-01 15:23:17 -0500 (Fri, 01 Feb 2008) | 3 lines Changed paths: D /trunk/TODO-1.5-branch * TODO-1.5-branch: Remove, we branched in r29081. ------------------------------------------------------------------------ r29148 | cmpilato | 2008-02-01 16:12:27 -0500 (Fri, 01 Feb 2008) | 9 lines Changed paths: M /trunk/subversion/libsvn_ra_serf/util.c Fix a bug in ra_serf where the computed repository root was not canonical, which caused working copy corruption. * subversion/libsvn_ra_serf/util.c (svn_ra_serf__discover_root): Canonicalize repos_root_str when discovering the repository root. Patch by: Augie Fackler: (Tweaked by me.) ------------------------------------------------------------------------ r29151 | cmpilato | 2008-02-01 16:32:26 -0500 (Fri, 01 Feb 2008) | 15 lines Changed paths: M /trunk/subversion/libsvn_client/mergeinfo.c M /trunk/subversion/svn/main.c M /trunk/subversion/svnadmin/main.c ### THIS CHANGE WAS REVERTED IN r29152. ### Prevent a segfault triggered by invoking 'svn mergeinfo' with a non-URL as the argument to the --from-source option. * subversion/svn/main.c (main): Raise an error if the argument to --from-source is not a URL. * subversion/libsvn_client/mergeinfo.c (svn_client_mergeinfo_get_available): Assert that from_source_url is a URL. While here, delay pool and RA session creation as long as possible. * subversion/svnadmin/main.c ### TOTALLY BOGUS ACCIDENTAL CHANGE ### ------------------------------------------------------------------------ r29152 | cmpilato | 2008-02-01 16:33:28 -0500 (Fri, 01 Feb 2008) | 2 lines Changed paths: M /trunk/subversion/libsvn_client/mergeinfo.c M /trunk/subversion/svn/main.c M /trunk/subversion/svnadmin/main.c Revert r29151 wholesale. ------------------------------------------------------------------------ r29153 | cmpilato | 2008-02-01 16:36:14 -0500 (Fri, 01 Feb 2008) | 10 lines Changed paths: M /trunk/subversion/libsvn_client/mergeinfo.c M /trunk/subversion/svn/main.c Prevent a segfault triggered by invoking 'svn mergeinfo' with a non-URL as the argument to the --from-source option. * subversion/svn/main.c (main): Raise an error if the argument to --from-source is not a URL. * subversion/libsvn_client/mergeinfo.c (svn_client_mergeinfo_get_available): Assert that from_source_url is a URL. While here, delay pool and RA session creation as long as possible. ------------------------------------------------------------------------ r29155 | epg | 2008-02-01 19:45:29 -0500 (Fri, 01 Feb 2008) | 18 lines Changed paths: M /trunk/Makefile.in M /trunk/build/generator/gen_make.py M /trunk/gen-make.py Add --installed-libs option, allowing packagers to build parts of svn (usually bindings) against installed svn libraries. * Makefile.in (swig-pl_DEPS): Remove libsvn_client libsvn_delta libsvn_diff libsvn_fs libsvn_ra libsvn_repos libsvn_subr libsvn_wc so that swig-pl can be built against installed libraries, as py and rb already can. * build/generator/gen_make.py (Generator.write): Load gen-make.opts and save the list of installed libraries in self.installed_libs. For libraries in the list, write out -l lines instead of references to the .la file, and don't attempt to build that library. * gen-make.py (_usage_exit): Document --installed-libs option. (): And parse it from sys.argv. ------------------------------------------------------------------------ r29161 | cmpilato | 2008-02-01 22:38:03 -0500 (Fri, 01 Feb 2008) | 14 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/fs_fs.c Revert unrelated changes accidentally committed in r29139. The changes were as follows; thus read this log message in a negative frame of mind to understand the reversion. * subversion/libsvn_fs_fs/fs_fs.c (path_node_origins): Tweak to calculate the path to a node-origins file based on the node-id minus it's last character. (get_node_origins_from_file, set_node_origins_for_file): New helper functions. (svn_fs_fs__get_node_origin): Now use get_node_origins_from_file() to get a hash of node origins, and find what it seeks in the hash. (svn_fs_fs__set_node_origins, svn_fs_fs__set_node_origin): Now use set_node_origins_for_file(), fiddling with data as necessary to do so. ------------------------------------------------------------------------ r29163 | kfogel | 2008-02-02 01:00:59 -0500 (Sat, 02 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/include/svn_opt.h Documentation fixes. Patch by: Augie Fackler: me * subversion/include/svn_opt.h (svn_opt_args_to_target_array3): Updated documentation to describe how the errors work, and make this the version against which the old is compared. (svn_opt_args_to_target_array2): Update the documentation so this describes how it is different from svn_opt_args_to_target_array3(). ------------------------------------------------------------------------ r29164 | kfogel | 2008-02-02 01:06:31 -0500 (Sat, 02 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/include/svn_opt.h * subversion/include/svn_opt.h (svn_opt_args_to_target_array3): Further documentation clarification. ------------------------------------------------------------------------ r29166 | epg | 2008-02-02 05:23:00 -0500 (Sat, 02 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/util.c * subversion/libsvn_ra_neon/util.c (svn_ra_neon__parsed_request): Don't wrap the error with info about the HTTP method. ------------------------------------------------------------------------ r29167 | cmpilato | 2008-02-02 21:18:07 -0500 (Sat, 02 Feb 2008) | 32 lines Changed paths: M /trunk/subversion/include/svn_ra.h M /trunk/subversion/libsvn_client/checkout.c M /trunk/subversion/libsvn_client/copy.c M /trunk/subversion/libsvn_client/export.c M /trunk/subversion/libsvn_client/externals.c M /trunk/subversion/libsvn_client/info.c M /trunk/subversion/libsvn_client/list.c M /trunk/subversion/libsvn_client/merge.c M /trunk/subversion/libsvn_client/ra.c M /trunk/subversion/libsvn_client/relocate.c M /trunk/subversion/libsvn_client/status.c M /trunk/subversion/libsvn_client/switch.c M /trunk/subversion/libsvn_client/update.c M /trunk/subversion/libsvn_client/util.c M /trunk/subversion/libsvn_ra/compat.c M /trunk/subversion/libsvn_ra/ra_loader.c M /trunk/subversion/svnsync/main.c Rev the svn_ra_get_uuid and svn_ra_get_repos_root interfaces to get a more natural API, where the pool you provide is actually meaningful and the returned value is allocated in it as you might expect. * subversion/include/svn_ra.h (svn_ra_get_uuid2, svn_ra_get_repos_root2): New functions. (svn_ra_get_uuid, svn_ra_get_repos_root): Update docstrings. * subversion/libsvn_ra/ra_loader.c (svn_ra_get_uuid2, svn_ra_get_repos_root2): New functions. (svn_ra_reparent): Use svn_ra_get_repos_root2() instead of svn_ra_get_repos_root(). * subversion/libsvn_ra/compat.c, * subversion/libsvn_client/relocate.c, * subversion/libsvn_client/switch.c, * subversion/libsvn_client/externals.c, * subversion/libsvn_client/util.c, * subversion/libsvn_client/export.c, * subversion/libsvn_client/status.c, * subversion/libsvn_client/info.c, * subversion/libsvn_client/merge.c, * subversion/libsvn_client/ra.c, * subversion/libsvn_client/checkout.c, * subversion/libsvn_client/copy.c, * subversion/libsvn_client/list.c, * subversion/libsvn_client/update.c, * subversion/svnsync/main.c Callers of svn_ra_get_uuid() and svn_ra_get_repos_root() changed to call svn_ra_get_uuid2() and svn_ra_get_repos_root2(), respectively, and now-unnecessary string dupes removed. ------------------------------------------------------------------------ r29168 | cmpilato | 2008-02-02 21:20:01 -0500 (Sat, 02 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_client/util.c Fix an RA session leak. * subversion/libsvn_client/util.c (svn_client__get_repos_root): Use a subpool for the RA session this function creates, and be sure to destroy it during cleanup. ------------------------------------------------------------------------ r29169 | cmpilato | 2008-02-02 21:21:44 -0500 (Sat, 02 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/include/svn_ra.h Uncommit some debugging state committed in r29167. * subversion/include/svn_ra.h (svn_ra_get_uuid, svn_ra_get_repos_root): Un-rename from svn_ra_get_*X. ------------------------------------------------------------------------ r29170 | cmpilato | 2008-02-02 21:23:49 -0500 (Sat, 02 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/include/svn_ra.h Heh. Don't assume r29167 is getting backported. * subversion/include/svn_ra.h (svn_ra_get_uuid2, svn_ra_get_repos_root2): Claim these are new as of 1.6, not 1.5. (svn_ra_get_uuid, svn_ra_get_repos_root): Note that these exist for compatibility with the 1.5 API, not just the 1.4 API. ------------------------------------------------------------------------ r29171 | cauchy | 2008-02-03 04:19:21 -0500 (Sun, 03 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/po/zh_CN.po Simplified chinese translation update. * subversion/po/zh_CN.po: Update to r29170. ------------------------------------------------------------------------ r29174 | kfogel | 2008-02-03 17:29:57 -0500 (Sun, 03 Feb 2008) | 15 lines Changed paths: M /trunk/subversion/libsvn_wc/merge.c M /trunk/subversion/libsvn_wc/update_editor.c Follow up to r27377 with documentation and allocation fixes. (See also issue #2986, http://svn.haxx.se/dev/archive-2007-10/1221.shtml, and http://svn.haxx.se/dev/archive-2007-10/1239.shtml.) * subversion/libsvn_wc/update_editor.c (choose_base_paths): Rewrite doc string, clarifying some details. (copy_regular_props): Clarify lifetime of returned data. (add_file_with_history): Use a subpool for temporary allocations, and remove comment about this. * subversion/libsvn_wc/merge.c (svn_wc__merge_internal): Document new copyfrom_text parameter, taking the description from the r27377 log message. ------------------------------------------------------------------------ r29175 | kfogel | 2008-02-04 00:10:12 -0500 (Mon, 04 Feb 2008) | 13 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/fs_fs.c M /trunk/subversion/tests/cmdline/svnadmin_tests.py Fix issue #2992: make 'svnadmin recover' warier for FSFS. Patch by: Jeremy Whitlock (Tweaked by me.) * subversion/libsvn_fs_fs/fs_fs.c (recover_body): Check for missing or non-file revprops file for youngest revision, and check that maximum rev is as expected. * subversion/tests/cmdline/svnadmin_tests.py: Import shutil. (fsfs_recover_handle_missing_revs_or_revprops_file): New test. (test_list): Run it. ------------------------------------------------------------------------ r29176 | kameshj | 2008-02-04 08:22:10 -0500 (Mon, 04 Feb 2008) | 14 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c Remove filter *reflected* revisions implementation whereas it should have been filter *reflective* revisions and more(See issue-2897 branch to know more about the correct expectation.). Refer issue 2897#desc1 for details. * subversion/libsvn_client/merge.c (filter_reflected_revisions): Removed. (calculate_remaining_ranges): Fix doc string to reflect the fact that it does not remove reflective revisions. Remove call to 'filter_reflected_revisions'. Suggested by: markphip ------------------------------------------------------------------------ r29180 | hwright | 2008-02-04 10:19:38 -0500 (Mon, 04 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/libsvn_client/blame.c * subversion/libsvn_client/blame.c (struct rev): Remove unused member 'next'. ------------------------------------------------------------------------ r29181 | pburba | 2008-02-04 12:48:53 -0500 (Mon, 04 Feb 2008) | 7 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c Follow-up to r29085, remove an unreferenced variable and tweak a var name. * subversion/libsvn_client/merge.c (filter_self_referential_mergeinfo): As above. Suggested by: glasser ------------------------------------------------------------------------ r29185 | kfogel | 2008-02-04 20:37:56 -0500 (Mon, 04 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/include/svn_wc.h * subversion/include/svn_wc.h (svn_wc_resolved_conflict3): Fix formatting in doc string [see also r29186]. ------------------------------------------------------------------------ r29186 | kfogel | 2008-02-04 20:45:17 -0500 (Mon, 04 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/include/svn_client.h * subversion/include/svn_client.h (svn_client_resolved2): Fix formatting in doc string, similarly to r29185. ------------------------------------------------------------------------ r29187 | kfogel | 2008-02-04 20:57:48 -0500 (Mon, 04 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_wc/merge.c M /trunk/subversion/libsvn_wc/wc.h * subversion/libsvn_wc/merge.c (svn_wc__merge_internal): Move duplicate documentation from here... * subversion/libsvn_wc/wc.h (svn_wc__merge_internal): ...to here, folding into existing doc string. ------------------------------------------------------------------------ r29188 | kfogel | 2008-02-04 21:47:35 -0500 (Mon, 04 Feb 2008) | 13 lines Changed paths: M /trunk/subversion/libsvn_wc/adm_ops.c M /trunk/subversion/svn/conflict-callbacks.c Documentation and code consistency cleanups, for problems encountered while working on other issues. * subversion/svn/conflict-callbacks.c (svn_cl__conflict_handler): Be consistent about how we check the response after prompting the user. I chose a way at random; if you prefer the other way, that's fine, just please make sure that *both* followups to svn_cmdline_prompt_user2() use the same way. Also, fix a typo in a comment. * subversion/libsvn_wc/adm_ops.c (resolve_conflict_on_entry): Tidy up doc string. ------------------------------------------------------------------------ r29189 | kfogel | 2008-02-05 00:32:46 -0500 (Tue, 05 Feb 2008) | 51 lines Changed paths: M /trunk/subversion/include/svn_client.h M /trunk/subversion/include/svn_wc.h M /trunk/subversion/libsvn_wc/adm_ops.c M /trunk/subversion/libsvn_wc/merge.c M /trunk/subversion/libsvn_wc/props.c M /trunk/subversion/svn/cl.h M /trunk/subversion/svn/conflict-callbacks.c M /trunk/subversion/svn/main.c M /trunk/subversion/svn/resolved-cmd.c M /trunk/subversion/tests/cmdline/basic_tests.py M /trunk/subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout M /trunk/subversion/tests/cmdline/update_tests.py Fix part of issue #3048 and issue #3049: interactive conflict resolution should offer better merge and diff choices. This commit doesn't implement the better choices, but it moves the current (worse) choices to elsewhere in the interactive command space, thus reserving proper slots for the better choices later. * subversion/svn/cl.h (svn_cl__accept_t): New enums svn_cl__accept_theirs_all and svn_cl__accept_mine_all. (SVN_CL__ACCEPT_MINE_ALL, SVN_CL__ACCEPT_THEIRS_ALL): New words. * subversion/svn/conflict-callbacks.c (svn_cl__accept_from_word): Parse new words. Don't parse old words that aren't yet implemented. (svn_cl__conflict_handler): Handle new choices, including a new '(D)iff-all' choice. Handle the corresponding old choices by printing warnings about how they're not implemented yet. * subversion/svn/resolved-cmd.c (svn_cl__resolved): Handle new --accept option values. * subversion/svn/main.c (svn_cl__options, svn_cl__cmd_table): Mention the new choices, and don't mention the old ones since they're currently unimplemented. * subversion/include/svn_wc.h (svn_wc_conflict_choice_t): New enums svn_wc_conflict_choose_mine_all svn_wc_conflict_choose_theirs_all. Update all comments, though. (svn_wc_resolved_conflict3): Update documentation accordingly. * subversion/include/svn_client.h (svn_client_resolved2): Update documentation accordingly. * subversion/libsvn_wc/merge.c (svn_wc__merge_internal): Adjust to use the new choices. * subversion/libsvn_wc/props.c (maybe_generate_propconflict): Same. * subversion/libsvn_wc/adm_ops.c (resolve_conflict_on_entry): Same. * subversion/tests/cmdline/basic_tests.py (automatic_conflict_resolution): Adjust accordingly. * subversion/tests/cmdline/update_tests.py (update_accept_conflicts): Same. * subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout: Same. ------------------------------------------------------------------------ r29190 | stylesen | 2008-02-05 03:45:27 -0500 (Tue, 05 Feb 2008) | 5 lines Changed paths: M /trunk/www/hacking.html Fix typo in hacking.html * www/hacking.html (): Fix typo in 'Stabilizing and maintaining releases' ------------------------------------------------------------------------ r29191 | kameshj | 2008-02-05 09:19:27 -0500 (Tue, 05 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c Fix doc string. * subversion/libsvn_repos/log.c (get_history): Remove duplicate word 'than' in the doc string. ------------------------------------------------------------------------ r29192 | kfogel | 2008-02-05 11:18:26 -0500 (Tue, 05 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/mod_dav_svn/dav_svn.h M /trunk/subversion/mod_dav_svn/repos.c * subversion/mod_dav_svn/dav_svn.h (dav_svn_repos): Change 'capabilities' field to 'client_capabilities', to avoid confusion. All callers changed. ------------------------------------------------------------------------ r29193 | kfogel | 2008-02-05 12:58:53 -0500 (Tue, 05 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/include/svn_error_codes.h * subversion/include/svn_error_codes.h: Put "/** @since New in 1.5. */" comments in front of some new error codes that need it. ------------------------------------------------------------------------ r29194 | kfogel | 2008-02-05 13:03:58 -0500 (Tue, 05 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/include/svn_error_codes.h M /trunk/subversion/include/svn_ra.h M /trunk/subversion/libsvn_ra_local/ra_plugin.c M /trunk/subversion/libsvn_ra_neon/session.c M /trunk/subversion/libsvn_ra_serf/serf.c M /trunk/subversion/libsvn_ra_svn/client.c M /trunk/subversion/svnsync/main.c * subversion/include/svn_error_codes.h (SVN_ERR_UNKNOWN_CAPABILITY): Replace SVN_ERR_RA_UNKNOWN_CAPABILITY, because this doesn't need to be RA-specific. All callers changed. ------------------------------------------------------------------------ r29195 | cmpilato | 2008-02-05 14:50:54 -0500 (Tue, 05 Feb 2008) | 7 lines Changed paths: D /trunk/subversion/libsvn_repos/hooks.txt Remove a stale bit of documentation, as its very presence serves merely to confuse those seeking useful hook system documentation. * subversion/libsvn_repos/hooks.txt Buh-bye. Suggested by: Andrew Ryan ------------------------------------------------------------------------ r29196 | dlr | 2008-02-05 19:24:26 -0500 (Tue, 05 Feb 2008) | 2 lines Changed paths: M /trunk/COMMITTERS * COMMITTERS: Update my email address. ------------------------------------------------------------------------ r29197 | epg | 2008-02-05 21:31:45 -0500 (Tue, 05 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/include/svn_fs.h * subversion/include/svn_fs.h (svn_fs_set_warning_func): That's /dev/null not /dev/NULL (accidentally changed in r27752). ------------------------------------------------------------------------ r29198 | cmpilato | 2008-02-06 01:07:18 -0500 (Wed, 06 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/tests/cmdline/merge_tests.py Add a test for issue #3094 (problems around merge source normalization), XFail()ed. Annoyingly, this test is passing when it isn't supposed to, and I can't figure out why. Is "the process produced no output" some kind of unsupported special case? * subversion/tests/cmdline/merge_tests.py (merge_range_predates_history): New test. (test_lists): Add reference to new test, XFail()ed. ------------------------------------------------------------------------ r29199 | lgo | 2008-02-06 05:28:16 -0500 (Wed, 06 Feb 2008) | 7 lines Changed paths: M /trunk/subversion/libsvn_ra_serf/util.c Follow up r29148: use the session pool to create the canonicalized repository root string. This fixes all failing diff and merge tests over ra_serf. * subversion/libsvn_ra_serf/util.c (svn_ra_serf__discover_root): use session pool, as the string will be stored in the session and has the same lifetime. ------------------------------------------------------------------------ r29201 | kou | 2008-02-06 08:11:07 -0500 (Wed, 06 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/bindings/swig/include/svn_types.swg The Ruby bindings work with SWIG 1.3.33. * subversion/bindings/swig/include/svn_types.swg (%typemap(freearg) apr_pool_t *pool): - Use freearg instead of argout to support SWIG 1.3.33. - Use vresult directly instead of $result because we've already used vresult in svn_global.swg. ------------------------------------------------------------------------ r29202 | hwright | 2008-02-06 09:41:40 -0500 (Wed, 06 Feb 2008) | 10 lines Changed paths: M /trunk/subversion/svn/blame-cmd.c Fix 'svn blame -g' revision selection, specifically the problem identified by markphip in this thread: http://svn.haxx.se/dev/archive-2008-01/0614.shtml Found by: markphip * subversion/svn/blame-cmd.c (blame_receiver): Instead of using the merged revision anytime to two revisions differ, choose the earlier of the two. ------------------------------------------------------------------------ r29207 | hwright | 2008-02-06 09:59:05 -0500 (Wed, 06 Feb 2008) | 8 lines Changed paths: M /trunk/www/links.html Add link to scord from the links page. * www/links.html Add link to scord. Patch by: Chris Frost (Tweaked by me.) ------------------------------------------------------------------------ r29208 | hwright | 2008-02-06 10:13:42 -0500 (Wed, 06 Feb 2008) | 27 lines Changed paths: M /trunk/subversion/bindings/javahl/native/SVNClient.cpp M /trunk/subversion/include/svn_client.h M /trunk/subversion/libsvn_client/client.h M /trunk/subversion/libsvn_client/prop_commands.c M /trunk/subversion/svn/propedit-cmd.c M /trunk/subversion/svn/propget-cmd.c Delete svn_client_propget3() and rename svn_client_propget4() to svn_client_propget3(). * subversion/include/svn_client.h (svn_client_propget3): Delete and recreate from ... (svn_client_propget4): ... here. * subversion/libsvn_client/prop_commands.c (svn_client_propget3): Delete and recreate from ... (svn_client_propget4): ... here. (remote_propget): Update doc string. (svn_client_propget2): Update call to svn_client_propget3(). * subversion/libsvn_client/client.h (svn_client__get_prop_from_wc): Update doc string. * subversion/svn/propedit-cmd.c (svn_cl__propedit): * subversion/svn/propget-cmd.c (svn_cl__propget): * subversion/bindings/javahl/native/SVNClient.cpp (SVNClient::propertyGet): Call svn_client_propget3(). Found by: Barry Scott Patch by: arfrever ------------------------------------------------------------------------ r29210 | kameshj | 2008-02-06 10:22:28 -0500 (Wed, 06 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c Follow-up to r29176. * subversion/libsvn_client/merge.c (calculate_remaining_ranges): Remove unnecessary reparenting. ------------------------------------------------------------------------ r29214 | cmpilato | 2008-02-07 01:09:32 -0500 (Thu, 07 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/tests/cmdline/merge_tests.py * subversion/tests/cmdline/merge_tests.py (merge_range_predates_history): Fix a test buglet. ------------------------------------------------------------------------ r29215 | cmpilato | 2008-02-07 02:14:23 -0500 (Thu, 07 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_client/log.c Fix an RA session lifetime issue. * subversion/libsvn_client/log.c (svn_client__get_copy_source): Use a subpool to manage the session lifetime. ------------------------------------------------------------------------ r29216 | cmpilato | 2008-02-07 03:10:20 -0500 (Thu, 07 Feb 2008) | 14 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c M /trunk/subversion/tests/cmdline/merge_tests.py Finish issue #3094 - Merge source normalization falls over when source URL history doesn't extend back as far as request range. * subversion/libsvn_client/merge.c (normalize_merge_sources): Deal with two special cases: a) when the fetched source location segments don't fully cover the range of requested revisions, and b) when the first segment fetched is a gap segment. Were it not for my concern about performance when merging from pre-1.5 repositories, I would have take the much simpler approach noted in comments herein. What can I say? I'm a nice guy. * subversion/tests/cmdline/merge_tests.py (test_list): Remove XFail from merge_range_predates_history() test. ------------------------------------------------------------------------ r29218 | cmpilato | 2008-02-07 04:00:22 -0500 (Thu, 07 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_fs_base/fs.c Fix some Ruby test failures introduced by r29076. * subversion/libsvn_fs_base/fs.c (base_open): Delay the writing of the format file until after the databases have been opened/created. ------------------------------------------------------------------------ r29220 | lgo | 2008-02-07 05:26:47 -0500 (Thu, 07 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/tests/cmdline/svntest/verify.py Fix issue in the test framework: a situation where svn doesn't return any output but we do expect some is now detected and considered an error. This breaks merge_test 62, but it looks like that test should be failing anyway. Found by: cmpilato * subversion/tests/cmdline/svntest/verify.py (ExpectedOutput.is_equivalent_list): if we expect output but there's none raise an error. ------------------------------------------------------------------------ r29225 | cmpilato | 2008-02-07 13:51:38 -0500 (Thu, 07 Feb 2008) | 12 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c M /trunk/subversion/tests/cmdline/merge_tests.py Make single-file merge notifications more like directory merge notifications in that header lines only precede blocks containing operative notifications. * subversion/libsvn_client/merge.c (IS_OPERATIVE_NOTIFICATION): New macro. (notification_receiver): Replace now-redundant conditional with use of the new IS_OPERATIVE_NOTIFICATION() macro. (single_file_merge_notify): Employ the IS_OPERATIVE_NOTIFICATION() macro. * subversion/tests/cmdline/merge_tests.py (no_mergeinfo_from_no_op_merge): Expect no output from no-op merges. ------------------------------------------------------------------------ r29228 | kfogel | 2008-02-07 15:11:37 -0500 (Thu, 07 Feb 2008) | 13 lines Changed paths: M /trunk/subversion/svn/conflict-callbacks.c * subversion/svn/conflict-callbacks.c (svn_cl__conflict_handler): Use more human-friendly phrasing and formatting in the interactive conflict resolution prompt. The new longest prompt looks like this: "Select: (p)ostpone, all of (M)ine, all of (T)heirs, (r)esolved, (h)elp for more options:" Suggested by: cmpilato epg Unsolicited musical interlude by: glasser ------------------------------------------------------------------------ r29230 | glasser | 2008-02-07 19:13:39 -0500 (Thu, 07 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/get_location_segments.c Fix a segfault on global pool cleanup after merge which has been occurring on some platforms since r28442. It appears that, due to the ne_decompress destruction in the request cleanup handler, svn_ra_neon__parsed_request must always be called with a pool whose lifetime is no longer than the RA session pool's. (This will be documented in a future revision. (Update: actually, r29231 fixes this in a different way.)) * subversion/libsvn_ra_neon/get_location_segments.c (svn_ra_neon__get_location_segments): Run everything (including svn_ra_neon__parsed_request) in a subpool. ------------------------------------------------------------------------ r29231 | glasser | 2008-02-07 19:43:41 -0500 (Thu, 07 Feb 2008) | 21 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/util.c Fix the same problem fixed by r29230 from another angle. (Fortunately these two changes are two great tastes that taste great together.) In two cases where svn_ra_neon__request_destroy is called, make sure that it gets called even if errors occur. This means that we don't actually have to put any requirements on the pool passed to svn_ra_neon__parsed_request, as threatened in the log message for r29230. There's another handful of svn_ra_neon__request_create/destroy pairs scattered across the library that probably need this treatment as well. * subversion/libsvn_ra_neon/util.c (parsed_request): Add a request argument and move request creation and destruction to... (svn_ra_neon__parsed_request): ... here, so that the destruction always happens. (svn_ra_neon__simple_request): For good measure, make this function destroy its request even when errors are thrown, too. ------------------------------------------------------------------------ r29232 | kfogel | 2008-02-07 22:54:46 -0500 (Thu, 07 Feb 2008) | 7 lines Changed paths: M /trunk/subversion/include/svn_wc.h * subversion/include/svn_wc.h (svn_wc_conflict_choice_t): Fix comments, and reorder enum, following up to r29189. Found by: glasser (He noticed that the comments didn't match up.) ------------------------------------------------------------------------ r29233 | glasser | 2008-02-07 23:45:32 -0500 (Thu, 07 Feb 2008) | 20 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/commit.c M /trunk/subversion/libsvn_ra_neon/lock.c M /trunk/subversion/libsvn_ra_neon/session.c Follow-up to r29231, making sure that every svn_ra_neon__request_t is explicitly destroyed even when errors are thrown. In two cases, this means adding blatantly missing svn_ra_neon__request_destroy calls; in the rest it just means changing SVN_ERR calls to "if (err) goto cleanup" and the like. (Full disclosure: I'm not going to be at the machine where I have davautocheck working until Monday, so this hasn't actually been fully tested yet.) * subversion/libsvn_ra_neon/commit.c (do_checkout, commit_delete_entry, commit_close_file): Always destroy the request. * subversion/libsvn_ra_neon/lock.c (do_lock, svn_ra_neon__get_lock): Always destroy the request. * subversion/libsvn_ra_neon/session.c (exchange_capabilities): Always destroy the request. ------------------------------------------------------------------------ r29234 | kameshj | 2008-02-08 08:25:01 -0500 (Fri, 08 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c Make use of the sesspool (which is otherwise not used at all) for temporary ra_session. * subversion/libsvn_client/merge.c (get_full_mergeinfo): create temporary ra_session from a temporary pool. ------------------------------------------------------------------------ r29239 | pburba | 2008-02-08 15:51:36 -0500 (Fri, 08 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c Follow-up to r29216, fix for issue #3094. * subversion/libsvn_client/merge.c (normalize_merge_sources): If we add any svn_location_segment_t's to the array initially populated by svn_client__repos_location_segments(), be sure the path members don't have leading '/'. ------------------------------------------------------------------------ r29241 | epg | 2008-02-08 16:34:31 -0500 (Fri, 08 Feb 2008) | 9 lines Changed paths: M /trunk/subversion/libsvn_ra_svn/cyrus_auth.c Fix minor bug causing svnserve gssapi (and possibly other sasl backends) to deadlock, as the client never sends the response the server is looking for. * subversion/libsvn_ra_svn/cyrus_auth.c (try_auth): If sasl_client_step returns SASL_CONTINUE, we must send something to the server even if sasl_client_step set out to NULL; that just means we send the empty string, so do so. ------------------------------------------------------------------------ r29242 | epg | 2008-02-08 16:40:23 -0500 (Fri, 08 Feb 2008) | 19 lines Changed paths: M /trunk/notes/sasl.txt M /trunk/subversion/include/private/ra_svn_sasl.h M /trunk/subversion/libsvn_ra_svn/cyrus_auth.c M /trunk/subversion/svnserve/cyrus_auth.c Instead of passing "subversion" to sasl_server_init and "svn" to sasl_client_new sasl_server_new, define new macro for "svn" and use that everywhere. Reduces burden on administrators, having to configure /usr/lib/sasl2/subversion.conf on the one hand but using svn on the other hand (e.g. in making a Kerberos principal). * subversion/include/private/ra_svn_sasl.h (SVN_RA_SVN_SASL_NAME): Add new macro. * subversion/libsvn_ra_svn/cyrus_auth.c (new_sasl_ctx): Use SVN_RA_SVN_SASL_NAME instead of "svn". * subversion/svnserve/cyrus_auth.c (initialize): Use SVN_RA_SVN_SASL_NAME instead of "subversion". (cyrus_auth_request): Use SVN_RA_SVN_SASL_NAME instead of "svn". * notes/sasl.txt Update. ------------------------------------------------------------------------ r29243 | epg | 2008-02-08 16:40:59 -0500 (Fri, 08 Feb 2008) | 3 lines Changed paths: M /trunk/notes/sasl.txt * notes/sasl.txt Add a new section documenting GSSAPI configuration. ------------------------------------------------------------------------ r29250 | glasser | 2008-02-08 18:47:56 -0500 (Fri, 08 Feb 2008) | 53 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/fs.h M /trunk/subversion/libsvn_fs_fs/fs_fs.c M /trunk/subversion/libsvn_fs_fs/fs_fs.h M /trunk/subversion/libsvn_fs_fs/structure M /trunk/subversion/libsvn_fs_fs/tree.c Yet another node-origins-cache-for-FSFS implementation! This one hopefully is the best of all worlds: create a new style of node IDs which encode the origin revision directly into the node ID, but continue to have an on-disk cache for old node IDs, but save disk space by using cmpilato's patch to store up to 36 IDs in each file. Note that because new node IDs don't need to be cached, we can remove the "gather new node IDs during commit and cache them in bulk" code, which in fact even removes the need for any bulk-cache-writing code at all. Also, properly handle node-IDs that have never been committed. * subversion/libsvn_fs_fs/fs.h (SVN_FS_FS__MIN_NO_GLOBAL_IDS_FORMAT): New. * subversion/libsvn_fs_fs/fs_fs.c (path_node_origin): Tweak to calculate the path to a node-origins file based on the node-id minus its last character. (write_final_rev): Depending on FS format, make new IDs either from revnum or from counter. Remove node_origins hash parameter. (write_current, write_final_current): Only write out node/copy IDs for old formats. (struct commit_baton): Remove node_origins hash. (commit_body): Only read in node/copy IDs for old formats. Don't pass node_origins hash to write_final_rev. (svn_fs_fs__commit): Remove post-commit node origins cache update. (svn_fs_fs__create): Don't write initial values of node/copy ID counters for new file format. (recover_body): Only calculate maximum node/copy IDs in the repository for old formats. (get_node_origins_from_file, set_node_origins_for_file): New helper functions. (svn_fs_fs__get_node_origin): Now use get_node_origins_from_file() to get a hash of node origins, and find what it seeks in the hash. (svn_fs_fs__set_node_origin): Now use set_node_origins_for_file(), fiddling with data as necessary to do so. (svn_fs_fs__set_node_origins): Remove. * subversion/libsvn_fs_fs/fs_fs.h (svn_fs_fs__set_node_origins): Remove. * subversion/libsvn_fs_fs/structure Change description of node-ID cache to mention hash files. Describe new node-ID structure. * subversion/libsvn_fs_fs/tree.c (fs_node_origin_rev): Handle uncommitted ('_') node IDs properly. If the node-ID contains a '-', return the number after it. Patch by: cmpilato me ------------------------------------------------------------------------ r29251 | kfogel | 2008-02-09 12:15:03 -0500 (Sat, 09 Feb 2008) | 51 lines Changed paths: M /trunk/subversion/include/svn_client.h M /trunk/subversion/include/svn_wc.h M /trunk/subversion/libsvn_wc/adm_ops.c M /trunk/subversion/libsvn_wc/merge.c M /trunk/subversion/libsvn_wc/props.c M /trunk/subversion/svn/cl.h M /trunk/subversion/svn/conflict-callbacks.c M /trunk/subversion/svn/main.c M /trunk/subversion/svn/resolved-cmd.c M /trunk/subversion/tests/cmdline/basic_tests.py M /trunk/subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout M /trunk/subversion/tests/cmdline/update_tests.py Say "full" instead of "all" for the interactive conflict resolution behavior in which the entirety of a file is chosen, since users might have wrongly inferred that "all" meant "all of the remaining files". This follows up to r29189 and r29228. Found by: glasser (He pointed out the problem with "all", I proposed "full", no one objected.) * subversion/include/svn_wc.h (svn_wc_conflict_choice_t): svn_wc_conflict_choose_mine_full and svn_wc_conflict_choose_theirs_full replace svn_wc_conflict_choose_mine_all and svn_wc_conflict_choose_theirs_all. (svn_wc_resolved_conflict3): Adjust doc string. * subversion/svn/cl.h (svn_cl__accept_t): svn_cl__accept_mine_full and svn_cl__accept_theirs_full replace svn_cl__accept_mine_all and svn_cl__accept_theirs_all. (SVN_CL__ACCEPT_MINE_FULL, SVN_CL__ACCEPT_THEIRS_FULL): New names for SVN_CL__ACCEPT_MINE_ALL and SVN_CL__ACCEPT_THEIRS_ALL. * subversion/svn/main.c (svn_cl__options, svn_cl__cmd_table): Adjust * subversion/svn/conflict-callbacks.c (svn_cl__accept_from_word, svn_cl__conflict_handler): Adjust. * subversion/svn/resolved-cmd.c (svn_cl__resolved): Adjust. * subversion/include/svn_client.h (svn_client_resolved2): Adjust doc string. * subversion/libsvn_wc/merge.c (svn_wc__merge_internal): Adjust. * subversion/libsvn_wc/props.c (maybe_generate_propconflict): Adjust. * subversion/libsvn_wc/adm_ops.c (resolve_conflict_on_entry): Adjust. * subversion/tests/cmdline/basic_tests.py (automatic_conflict_resolution): Adjust. * subversion/tests/cmdline/update_tests.py (update_accept_conflicts): Adjust. * subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout: Adjust. ------------------------------------------------------------------------ r29252 | kfogel | 2008-02-09 13:49:57 -0500 (Sat, 09 Feb 2008) | 12 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/fs_fs.c M /trunk/subversion/tests/cmdline/svnadmin_tests.py Make FSFS recovery able to handle the scenarios we meant it to handle, following up to r29175. * subversion/libsvn_fs_fs/fs_fs.c (recover_body): Recover from any obsolete db/current file, not just a missing or r0 db/current file. * subversion/tests/cmdline/svnadmin_tests.py (recover_fsfs): Rewrite to test more scenarios. (fsfs_recover_handle_missing_revs_or_revprops_file): Rewrite for readability and to test somewhat more realistically. ------------------------------------------------------------------------ r29253 | xsteve | 2008-02-09 14:39:45 -0500 (Sat, 09 Feb 2008) | 8 lines Changed paths: M /trunk/contrib/client-side/emacs/psvn.el Make svn-status-dired-jump more robust Patch by Michael Ernst * trunk/contrib/client-side/emacs/psvn.el: (svn-status-dired-jump): Check, if point points to a file location, if not use default-directory for dired-jump ------------------------------------------------------------------------ r29254 | hwright | 2008-02-09 20:32:31 -0500 (Sat, 09 Feb 2008) | 7 lines Changed paths: M /trunk/subversion/libsvn_client/log.c Remove the use of a deprecated API. * subversion/libsvn_client/log.c (copyfrom_info_receiver): Update to implement svn_log_entry_receiver_t. (svn_client__get_copy_source): Use svn_client_log4() instead of svn_client_log3(). ------------------------------------------------------------------------ r29255 | hwright | 2008-02-09 21:00:25 -0500 (Sat, 09 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_client/log.c Reuse an existing ra session when getting copy sources. * subversion/libsvn_client/log.c (svn_client__get_copy_source): Use svn_ra_get_log2() instead of svn_client_log4(). ------------------------------------------------------------------------ r29256 | hwright | 2008-02-09 21:09:01 -0500 (Sat, 09 Feb 2008) | 3 lines Changed paths: M /trunk/tools/dist/construct-rolling-environment.sh * tools/dist/construct-rolling-environment.sh: Update to most recent dependency versions. ------------------------------------------------------------------------ r29261 | joeswatosh | 2008-02-10 11:37:05 -0500 (Sun, 10 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/bindings/swig/ruby/svn/client.rb Follow on to r29208 "Delete svn_client_propget3() and rename svn_client_propget4() to svn_client_propget3()." Updating the Ruby bindings. * subversion/bindings/swig/ruby/svn/client.rb (Svn::Client::Context#propget): Use propget3 instead of propget4. ------------------------------------------------------------------------ r29262 | arfrever | 2008-02-10 18:33:14 -0500 (Sun, 10 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/po/pl.po Polish translation update. * subversion/po/pl.po: Polish translation update. ------------------------------------------------------------------------ r29267 | arfrever | 2008-02-11 09:05:26 -0500 (Mon, 11 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/bindings/swig/perl/native/Client.pm Follow up to r29208: Delete propget4 in Perl bindings. * subversion/bindings/swig/perl/native/Client.pm (@_all_fns): Delete propget4. ------------------------------------------------------------------------ r29268 | hwright | 2008-02-11 13:49:12 -0500 (Mon, 11 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/tests/cmdline/log_tests.py * subversion/tests/cmdline/log_tests.py (merge_sensitive_log_added_path): Update revision author expectations as a followup to r29111. ------------------------------------------------------------------------ r29269 | hwright | 2008-02-11 13:51:25 -0500 (Mon, 11 Feb 2008) | 27 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c M /trunk/subversion/tests/cmdline/log_tests.py First part of 'log -g' rework. This fixes log tests 17 and 19. This commit changes the structure of 'log -g' to be less streamy than it previously was, with the benefit of cleaner output, and a more straightforward algorithm. This creates a more clear separation between the 'log -g' and vanilla 'log' functionalities. NOTE: 'log -g' remains broken, but (slightly) less so after this commit. * subversion/libsvn_repos/log.c (get_combined_mergeinfo): Unconditionally filter out non-existent paths before getting mergeinfo. Use copy sources if available. Don't take current_rev parameter anymore. (combine_mergeinfo_rangelists): Remove, may be resurrected in the future. (get_merged_rev_mergeinfo): Update arguments to get_combined_mergeinfo(). (find_merge_source): Remove, may be resurrected in the future. (send_log): Remove 'log -g' specific parts, rename from send_logs(). (do_merged_log): Remove. (do_merged_logs): New. (do_logs): Update arguments to send_log(). (svn_repos_get_logs4): Update arguments to send_log(), and use do_merged_logs() to handle merged log requests. * subversion/tests/cmdline/log_tests.py (test_list): Mark merge_sensitive_log_branching_revision(), and merge_sensitive_log_added_path() as PASS. ------------------------------------------------------------------------ r29270 | pburba | 2008-02-11 15:30:10 -0500 (Mon, 11 Feb 2008) | 9 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c Follow-up to r29239, fix unsafe assumption. * subversion/libsvn_client/merge.c (normalize_merge_sources): Don't assume svn_client__get_copy_source() always returns a copyfrom_path with a leading '/', there is no guarantee of this. Suggested by: cmpilato glasser ------------------------------------------------------------------------ r29271 | pburba | 2008-02-11 15:30:24 -0500 (Mon, 11 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/svn/main.c Disallow -r/-c with --reintegrate. * subversion/svn/main.c (main): Return an error is -r/-c is specified with --reintegrate. ------------------------------------------------------------------------ r29273 | cmpilato | 2008-02-11 15:56:53 -0500 (Mon, 11 Feb 2008) | 1 line Changed paths: M /trunk/subversion/svn/main.c * subversion/svn/main.c (main): Lose trailing newline in error message string. ------------------------------------------------------------------------ r29277 | glasser | 2008-02-11 16:17:39 -0500 (Mon, 11 Feb 2008) | 9 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/fs_fs.c Followup to r27098: fix potential segfault by using pools correctly. * subversion/libsvn_fs_fs/fs_fs.c (svn_fs_fs__rev_get_root): Keep a string out of a pool that might be cleared. Found by: epg Dan Christian ------------------------------------------------------------------------ r29280 | glasser | 2008-02-11 17:38:43 -0500 (Mon, 11 Feb 2008) | 26 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/fs.h M /trunk/subversion/libsvn_fs_fs/fs_fs.c M /trunk/subversion/libsvn_fs_fs/fs_fs.h M /trunk/subversion/libsvn_fs_fs/structure M /trunk/subversion/libsvn_fs_fs/tree.c Make FSFS require FS version 3 for mergeinfo operations. Specifically, with older filesystems, throw an error from svn_fs_get_mergeinfo; don't write the mergeinfo metadata fields to noderevs; and don't do various metadata maintenance steps. * subversion/libsvn_fs_fs/fs.h (SVN_FS_FS__MIN_MERGEINFO_FORMAT): New. * subversion/libsvn_fs_fs/fs_fs.c (svn_fs_fs__fs_supports_mergeinfo): New helper. (write_noderev_txn): New include_mergeinfo parameter controlling whether or not "minfo-count" and "minfo-here" are written. (svn_fs_fs__put_node_revision, write_final_rev): Adjust. * subversion/libsvn_fs_fs/fs_fs.h (svn_fs_fs__fs_supports_mergeinfo): Declare. * subversion/libsvn_fs_fs/structure Mention maintainance of minfo-here and minfo-count requires version 3. * subversion/libsvn_fs_fs/tree.c (fs_change_node_prop, merge, fs_delete_node, copy_helper): Only do mergeinfo bookkeeping for new repository format. (fs_get_mergeinfo): Throw error if called with old repository. ------------------------------------------------------------------------ r29281 | glasser | 2008-02-11 17:41:30 -0500 (Mon, 11 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/fs_fs.h Follow-up to r29114: remove declaration of removed function. * subversion/libsvn_fs_fs/fs_fs.h (svn_fs_fs__change_txn_mergeinfo): Remove declaration. ------------------------------------------------------------------------ r29284 | glasser | 2008-02-11 17:55:08 -0500 (Mon, 11 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/structure * subversion/libsvn_fs_fs/structure (Filesystem formats): Transpose the description of the differences between FSFS format versions to group the different features together rather than grouping by version, for readability. ------------------------------------------------------------------------ r29287 | hwright | 2008-02-11 20:28:01 -0500 (Mon, 11 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c * subversion/libsvn_repos/log.c (do_merged_logs, get_combined_mergeinfo): Improve pool usage. ------------------------------------------------------------------------ r29288 | hwright | 2008-02-11 21:30:13 -0500 (Mon, 11 Feb 2008) | 9 lines Changed paths: M /trunk/subversion/libsvn_client/diff.c Fix issue #2996: Catch improper argument to diff against base revision. This fixes a couple of potential aborts farther down the call stack. * subversion/libsvn_client/diff.c (svn_client_diff_peg4): Throw and error if used with a URL and BASE revision. Patch by: Keegan Dunn (Tweaked by me.) ------------------------------------------------------------------------ r29298 | epg | 2008-02-12 14:20:12 -0500 (Tue, 12 Feb 2008) | 3 lines Changed paths: M /trunk/notes/sasl.txt * notes/sasl.txt List section 8 in the table of contents. ------------------------------------------------------------------------ r29304 | lgo | 2008-02-12 16:10:37 -0500 (Tue, 12 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/svnadmin/main.c * subversion/svnadmin/main.c: (main): small style fix, no functional change. ------------------------------------------------------------------------ r29308 | epg | 2008-02-12 17:43:54 -0500 (Tue, 12 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/include/svn_iter.h * subversion/include/svn_iter.h Note that completed may be NULL in svn_iter_apr_hash and svn_iter_apr_array doc strings. ------------------------------------------------------------------------ r29309 | cmpilato | 2008-02-12 20:48:07 -0500 (Tue, 12 Feb 2008) | 12 lines Changed paths: M /trunk/subversion/svnsync/main.c Prevent svnsync from printing blank lines when syncing a revision in which no edit drive occurs (such as those resulting from an svndumpfilter'd commit). * subversion/svnsync/main.c (edit_baton_t): Add 'got_textdeltas' member. (open_root): No longer print the "Transmitting file data" bit here. (apply_textdelta): Print the "Transmitting file data" line on the first textdelta, and remember that we did so. (close_edit): Only print linebreak if we saw some textdeltas. (get_sync_editor): Switch to an apr_pcalloc() to prevent future mistakes, and lose a redundant member init. ------------------------------------------------------------------------ r29313 | joeswatosh | 2008-02-13 00:39:19 -0500 (Wed, 13 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/bindings/swig/ruby/test/test_fs.rb M /trunk/subversion/bindings/swig/ruby/test/test_repos.rb Follow on to r29250 "Yet another node-origins-cache-for-FSFS implementation!" Per glasser svn_fs_recover() "more or less" no longer supports cancel. See: (http://subversion.tigris.org/servlets/ReadMsg?listName=dev&msgNo=135020) * subversion/bindings/swig/ruby/test/test_repos.rb (SvnReposTest#test_recover): Remove assertions about cancellation during recover. * subversion/bindings/swig/ruby/test/test_fs.rb (SvnFsTest#assert_recover): Don't assert cancellation. ------------------------------------------------------------------------ r29320 | hwright | 2008-02-13 10:02:21 -0500 (Wed, 13 Feb 2008) | 18 lines Changed paths: M /trunk/subversion/bindings/javahl/native/SVNClient.cpp M /trunk/subversion/bindings/javahl/native/SVNClient.h M /trunk/subversion/bindings/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp D /trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/MergeInfo.java A /trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Mergeinfo.java (from /trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/MergeInfo.java:29315) M /trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java M /trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java M /trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java M /trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java More mergeinfo nounifying. [ in subversion/bindings/javahl ] * tests/org/tigris/subversion/javahl/BasicTests.java, native/org_tigris_subversion_javahl_SVNClient.cpp, native/SVNClient.h, native/SVNClient.cpp, src/org/tigris/subversion/javahl/SVNClientSynchronized.java, src/org/tigris/subversion/javahl/SVNClient.java, src/org/tigris/subversion/javahl/SVNClientInterface.java: Change instances of mergeInfo to mergeinfo, and MergeInfo to Mergeinfo. * src/org/tigris/subversion/javahl/MergeInfo.java: Move from here... * src/org/tigris/subversion/javahl/Mergeinfo.java: ...to here. ------------------------------------------------------------------------ r29326 | hwright | 2008-02-13 10:35:13 -0500 (Wed, 13 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/libsvn_client/log.c * subversion/libsvn_client/log.c (svn_client_log4): Use an iterpool for temporary allocation in a loop. ------------------------------------------------------------------------ r29328 | hwright | 2008-02-13 14:56:20 -0500 (Wed, 13 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java JavaHL: Follow up to r29228 by adding the new conflict callback enumerations. This fixes an error in the JavaHL tests. [ in subversion/bindings/javahl ] * src/org/tigris/subversion/javahl/ConflictResult.java (ConflictResult): Add the new enumerations, and adjust the values of the following ones. ------------------------------------------------------------------------ r29329 | epg | 2008-02-13 16:51:45 -0500 (Wed, 13 Feb 2008) | 44 lines Changed paths: M /trunk/subversion/include/svn_repos.h M /trunk/subversion/libsvn_fs_fs/fs_fs.c M /trunk/subversion/libsvn_repos/dump.c M /trunk/subversion/svnadmin/main.c M /trunk/subversion/tests/cmdline/svnadmin_tests.py Implement svn_repos_verify_fs and use it in svnadmin verify rather than using svn_repos_dump_fs2, restoring complete verification after losing it in r24559. In r24559, I changed verify's use of svn_repos_dump_fs2 to dump only the paths changed in the revision being dumped rather than dumping the entire repository as of that revision. Without r24559, verifying large repositories is effectively impossible. But without dumping the entire repository contents, we were no longer verifying the links back to previous revisions for the paths *not* changed in the revision being verified. * subversion/libsvn_fs_fs/fs_fs.c (svn_fs_fs__get_node_revision): Check that the HEADER_ID field is actually in the node-rev header block; all other fields are already checked, only this one was not. This led to a segmentation fault in the particular corrupted revs file I created, as I simply incremented an offset, resulting in a "d" header but no "id" header. * subversion/libsvn_repos/dump.c (verify_directory_entry): Add function that does a simple check that a directory entry is valid (svn_fs_dir_entries for directories and svn_fs_file_length for files). (verify_close_directory): Add svn_delta_editor_t.close_directory implementation that verify_directory_entry()s each entry. (svn_repos_verify_fs): Add new function to verify a file system, mostly by invoking svn_repos_replay2 with the dump editor, but with the additional check of verify_close_directory. * subversion/include/svn_repos.h (svn_repos_verify_fs): Declare. (svn_repos_dump_fs2): Change doc string to point to svn_repos_verify_fs for verifying a file system. * subversion/svnadmin/main.c (dump_repo): Remove. (subcommand_dump): Fold dump_repo body into here. (subcommand_verify): Use svn_repos_verify_fs rather than dump_repo. * subversion/tests/cmdline/svnadmin_tests.py (verify_incremental_fsfs): Add test that corrupts a revision file in a way that svn_repos_dump_fs2 cannot detect and asserts that svnadmin verify detects it. ------------------------------------------------------------------------ r29334 | hwright | 2008-02-13 17:47:07 -0500 (Wed, 13 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/libsvn_client/log.c Followup to r29255 by using the correct repo path and revision. This bug was picked up by the JavaHL test suite. * subversion/libsvn_client/log.c (svn_client__get_copy_source): Use the empty path, because we've opened the ra_session directly to that path, and use the revision that path exists at to start finding logs. ------------------------------------------------------------------------ r29336 | markphip | 2008-02-13 19:13:12 -0500 (Wed, 13 Feb 2008) | 12 lines Changed paths: M /trunk/subversion/bindings/javahl/native/ConflictResolverCallback.cpp M /trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java JavaHL: Follow up to r29328 and 29228 by fixing up the new conflict callback enumerations. This fixes an error in the JavaHL tests. [ in subversion/bindings/javahl ] * tests/org/tigris/subversion/javahl/BasicTests.java (testMergeConflictResolution): Update the choice value used in the conflict callback. * native/ConflictResolverCallback.cpp (javaChoiceToC): update the switch statement to include the new values. ------------------------------------------------------------------------ r29344 | cauchy | 2008-02-14 03:43:10 -0500 (Thu, 14 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/po/zh_CN.po Simplified chinese translation update. * subversion/po/zh_CN.po: Update to r29336. ------------------------------------------------------------------------ r29348 | hwright | 2008-02-14 15:16:59 -0500 (Thu, 14 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/libsvn_client/diff.c * subversion/libsvn_client/diff.c (svn_client_diff_peg4): Use the same error message we currently use in other places for the same error. Followup to r29288. ------------------------------------------------------------------------ r29353 | cmpilato | 2008-02-14 16:02:31 -0500 (Thu, 14 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/libsvn_subr/opt.c * subversion/libsvn_subr/opt.c (svn_opt_args_to_target_array2): Whitespace changes only (caught in review for backport to 1.5.x). ------------------------------------------------------------------------ r29358 | kfogel | 2008-02-14 16:19:36 -0500 (Thu, 14 Feb 2008) | 39 lines Changed paths: M /trunk/subversion/include/svn_repos.h M /trunk/subversion/libsvn_repos/repos.c M /trunk/subversion/libsvn_repos/repos.h For issue #3089: Add an svn_repos_has_capability() interface. Provenance: This change was originally in r29314 on the mergeinfo-capability branch. I'm porting the changes on that branch manually to trunk, in logical pieces, for better reviewability. Since the port commits don't necessarily line up with the branch commits, I'm writing full log messages here; you shouldn't need to look at the branch to review this or subsequent ported changes. Although this change does not also add svn_fs_has_capability(), there is a conversation about whether to add that interface too. See the thread starting here: http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=135068 From: "David Glasser" To: dev@subversion.tigris.org, kfogel@tigris.org Cc: svn@subversion.tigris.org References: <200802130814.m1D8Egv0023316@svn2.sjc.collab.net> Subject: Re: svn commit: r29314 - in \ branches/mergeinfo-capability/subversion: \ include libsvn_client libsvn_ra_local libsvn_ra_svn \ libsvn_repos mod_dav_svn/reports svnserve Date: Wed, 13 Feb 2008 11:32:22 -0800 Message-ID: <1ea387f60802131132r8e45a81s5a9c6fb6118355ab@mail.gmail.com> * subversion/include/svn_repos.h (svn_repos_has_capability): New prototype. (SVN_REPOS_CAPABILITY_MERGEINFO): New capability. * subversion/libsvn_repos/repos.h (repository_capabilities): New field. * subversion/libsvn_repos/repos.c (create_svn_repos_t): Initialize new repository_capabilities field. (capability_yes, capability_no): New static constant strings. (svn_repos_has_capability): New function. ------------------------------------------------------------------------ r29360 | kfogel | 2008-02-14 16:34:11 -0500 (Thu, 14 Feb 2008) | 25 lines Changed paths: M /trunk/subversion/mod_dav_svn/reports/mergeinfo.c For issue #3089: cause mod_dav_svn to report an error more recognizeably. There is some question as to whether this is the right solution, see: http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=135089 From: Karl Fogel To: dev@subversion.tigris.org Subject: Better error reporting from mod_dav_svn? Date: Thu, 14 Feb 2008 00:36:40 -0500 Message-Id: <87r6fgumjb.fsf@red-bean.com> We may stick with this method, or we may switch to some other method of letting the client detect the "mergeinfo is unimplemented" error. Either way, it is independent of other changes related to issue #3089, so I've extracted it from r29314 on the mergeinfo-capability branch. See the r29358 log message for more about how changes from that branch are being ported to trunk. [Note: changed to a more conservative solution for 1.5, see r29366.] * subversion/mod_dav_svn/reports/mergeinfo.c (dav_svn__get_mergeinfo_report): Don't flush before returning error, as flushing might obscure the error due to certain intricacies of mod_dav's plumbing. ------------------------------------------------------------------------ r29364 | kfogel | 2008-02-14 17:47:26 -0500 (Thu, 14 Feb 2008) | 48 lines Changed paths: M /trunk/subversion/include/svn_ra.h M /trunk/subversion/include/svn_ra_svn.h M /trunk/subversion/libsvn_ra_local/ra_plugin.c M /trunk/subversion/libsvn_ra_neon/session.c M /trunk/subversion/libsvn_ra_serf/serf.c M /trunk/subversion/libsvn_ra_svn/client.c M /trunk/subversion/libsvn_ra_svn/protocol M /trunk/subversion/svnserve/serve.c Fix issue #3089: only claim mergeinfo capability if repos has it too. This change teaches all three RA layers to correctly divine server-side mergeinfo support. It is consolidated from various changes on the mergeinfo-capability branch; see the r29358 log message for more information. Do ra_svn: * subversion/svnserve/serve.c (serve): Only report mergeinfo capability if repos supports it. * subversion/libsvn_ra_svn/client.c (open_session): Expect repos capabilities to arrive separately. * subversion/include/svn_ra_svn.h (svn_ra_svn_set_capabilities): Document idempotency, because we depend on it now. * subversion/libsvn_ra_svn/protocol: Document how repository capabilities get sent to the client. Do ra_dav: * subversion/libsvn_ra_serf/serf.c (capability_server_yes): New capability state. (capabilities_headers_iterator_callback): Set above state for mergeinfo. (svn_ra_serf__has_capability): Only claim mergeinfo capability if repository supports it as well as server. * subversion/libsvn_ra_neon/session.c (capability_server_yes): New capability state. (parse_capabilities): Set above state for mergeinfo. (svn_ra_neon__has_capability): Only't claim mergeinfo capability if repository supports it as well as server. Do ra_local: * subversion/libsvn_ra_local/ra_plugin.c (svn_ra_local__has_capability): Just ask repository directly if it has mergeinfo capability. Update documentation: * subversion/include/svn_ra.h (svn_ra_get_mergeinfo): Document error behavior that we depend on, and correct a comment about mergeinfo support. ------------------------------------------------------------------------ r29366 | kfogel | 2008-02-14 18:22:45 -0500 (Thu, 14 Feb 2008) | 10 lines Changed paths: M /trunk/subversion/mod_dav_svn/reports/mergeinfo.c Follow up to r29360 with a more conservative fix: * subversion/mod_dav_svn/reports/mergeinfo.c (dav_svn__get_mergeinfo_report): Flush the brigade if there was any data sent, no matter what the value of derr. This essentially reverts the code back to the way it was, then adds a conditional making the flush dependent on whether data was sent. We may want to consider a similar technique for other parts of mod_dav_svn. ------------------------------------------------------------------------ r29374 | glasser | 2008-02-14 21:38:24 -0500 (Thu, 14 Feb 2008) | 23 lines Changed paths: M /trunk M /trunk/subversion/include/private/svn_mergeinfo_private.h M /trunk/subversion/include/svn_client.h M /trunk/subversion/include/svn_fs.h M /trunk/subversion/include/svn_mergeinfo.h M /trunk/subversion/include/svn_ra.h M /trunk/subversion/include/svn_repos.h M /trunk/subversion/libsvn_client/copy.c M /trunk/subversion/libsvn_client/diff.c M /trunk/subversion/libsvn_client/merge.c M /trunk/subversion/libsvn_client/mergeinfo.c M /trunk/subversion/libsvn_client/mergeinfo.h M /trunk/subversion/libsvn_fs/fs-loader.c M /trunk/subversion/libsvn_fs/fs-loader.h M /trunk/subversion/libsvn_fs_base/tree.c M /trunk/subversion/libsvn_fs_fs/tree.c M /trunk/subversion/libsvn_ra/ra_loader.c M /trunk/subversion/libsvn_ra/ra_loader.h M /trunk/subversion/libsvn_ra_local/ra_plugin.c M /trunk/subversion/libsvn_ra_neon/mergeinfo.c M /trunk/subversion/libsvn_ra_serf/mergeinfo.c M /trunk/subversion/libsvn_ra_svn/client.c M /trunk/subversion/libsvn_repos/fs-wrap.c M /trunk/subversion/libsvn_repos/load.c M /trunk/subversion/libsvn_repos/log.c M /trunk/subversion/libsvn_repos/rev_hunt.c M /trunk/subversion/libsvn_subr/mergeinfo.c M /trunk/subversion/libsvn_wc/props.c M /trunk/subversion/mod_dav_svn/reports/mergeinfo.c M /trunk/subversion/svn/mergeinfo-cmd.c M /trunk/subversion/svndumpfilter/main.c M /trunk/subversion/svnserve/serve.c M /trunk/subversion/tests/libsvn_subr/mergeinfo-test.c Merge the mergeinfo-api-cleanup branch to trunk. Major changes: * Add typedefs of svn_mergeinfo_t and svn_mergeinfo_catalog_t for (apr_hash_t *); use them in many places, and remove redundant documentation of these types. * svn_[repos_]fs_get_mergeinfo now return parsed mergeinfo (like svn_ra_get_mergeinfo). * A bug where the include_descendants argument to svn_fs_get_mergeinfo was essentially ignored is fixed. * The routines to stringify mergeinfo and rangelists now make svn_string_t, not svn_stringbuf_t. * The unused API svn_range_compact is removed. * I left in two TODO(miapi) notes about APIs that I think should be removed (because they imply that it's ever OK to have unsorted rangelists). ------------------------------------------------------------------------ r29377 | kameshj | 2008-02-15 06:34:52 -0500 (Fri, 15 Feb 2008) | 22 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c Fix notification for merges from pre-1.5 repos using 1.5 client, cherry-picking multiple changesets. Before this change, we got the merge notification for only the first changeset as it appears in the command line, though merge did happen for all the changesets: $ svn co http://svn.collab.net/repos/svn/branches/1.5.x svn_1.5.x $ cd svn_1.5.x $ svn merge -c29185 -c29186 -c29188 http://svn.collab.net/repos/svn/trunk . --- Merging r29185 into '.': path1 path2 ... * subversion/libsvn_client/merge.c (do_directory_merge): Reset notify_b->cur_ancestor_index to -1, before each merge drive. Found by: arfrever ------------------------------------------------------------------------ r29379 | joe | 2008-02-15 07:29:10 -0500 (Fri, 15 Feb 2008) | 7 lines Changed paths: M /trunk/build/ac-macros/neon.m4 M /trunk/configure.ac Add support for neon 0.28: * configure.ac: Add neon 0.28 to list of supported versions. * build/ac-macros/neon.m4 (SVN_NEON_CONFIG, SVN_LIB_NEON): Define SVN_NEON_0_28 for neon 0.28; extend supported version lists by one. ------------------------------------------------------------------------ r29380 | joe | 2008-02-15 08:03:42 -0500 (Fri, 15 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/util.c * subversion/libsvn_ra_neon/util.c (generate_error) [SVN_NEON_0_27]: Include the (descriptive) error message from neon for the NE_AUTH case. ------------------------------------------------------------------------ r29382 | hwright | 2008-02-15 10:37:59 -0500 (Fri, 15 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/bindings/javahl/native/SVNClient.cpp * subversion/bindings/javahl/native/SVNClient.cpp (getMergeinfo): Use a svn_mergeinfo_t. Followup to r29374. ------------------------------------------------------------------------ r29383 | cmpilato | 2008-02-15 10:46:49 -0500 (Fri, 15 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c * subversion/libsvn_client/merge.c (do_directory_merge): Followup to r29377, fixing a comment style for consistency. ------------------------------------------------------------------------ r29388 | glasser | 2008-02-15 15:09:54 -0500 (Fri, 15 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/libsvn_fs_base/tree.c M /trunk/subversion/libsvn_fs_fs/tree.c In the implementations of svn_fs_get_mergeinfo, make sure that the keys in the catalog are in the correct pool. * subversion/libsvn_fs_base/tree.c (get_mergeinfos_for_paths): Copy key from iterpool into the pool given as an argument. * subversion/libsvn_fs_fs/tree.c (crawl_directory_dag_for_mergeinfo): Copy key from pool into result_pool. ------------------------------------------------------------------------ r29389 | hwright | 2008-02-15 15:16:41 -0500 (Fri, 15 Feb 2008) | 28 lines Changed paths: M /trunk/subversion/include/svn_mergeinfo.h M /trunk/subversion/libsvn_repos/log.c M /trunk/subversion/libsvn_subr/mergeinfo.c M /trunk/subversion/tests/cmdline/log_tests.py M /trunk/subversion/tests/libsvn_subr/mergeinfo-test.c Continue work on 'log -g'. After this, 'log -g' properly orders messages, and interprets transitivity correctly. I now believe the functionality to be complete, although the algorithms and memory usage could be improved. This also removes the svn_rangelist_to_revs() API, and makes it private in libsvn_repos. We can publicize it later if needed. * subversion/include/svn_mergeinfo.h, subversion/libsvn_subr/mergeinfo.c (svn_rangelist_to_revs): Move from here... * subversion/libsvn_repos/log.c (rangelist_to_revs): ...to here. (find_merge_sources): Resurrected from r29269, with some tweaks. (pathlists_are_equal): New. (struct path_list_range): New. (combine_mergeinfo_path_lists): New. (do_merged_log): Order merged logs before sending, which causes transitivity to be properly handled. * subversion/tests/libsvn_subr/mergeinfo-test.c (test_rangelist_to_revs): Remove. * subversion/tests/cmdline/log_tests.py (merge_sensitive_log_single_revision, merge_sensitive_log_non_branching_revision): Tweak expectations. (test_list): Mark above tests as Pass. ------------------------------------------------------------------------ r29390 | jerenkrantz | 2008-02-15 15:21:11 -0500 (Fri, 15 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/mod_dav_svn/mirror.c mod_dav_svn mirror: Fix harmless thinko. Submitted by: Joe Schaefer * subversion/mod_dav_svn/mirror.c (dav_svn__location_in_filter): We're an input filter. Doh - call correct remove function. ------------------------------------------------------------------------ r29393 | kfogel | 2008-02-15 18:07:47 -0500 (Fri, 15 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/include/svn_dav.h M /trunk/subversion/mod_dav_svn/version.c Clarify how ra_dav's mergeinfo capability query works. Suggested by: glasser * subversion/include/svn_dav.h (SVN_DAV_NS_DAV_SVN_MERGEINFO): Document that this is about server capability, not repository capability. * subversion/mod_dav_svn/version.c (get_vsn_options): Explain in detail what's going on. ------------------------------------------------------------------------ r29394 | jszakmeister | 2008-02-16 07:07:00 -0500 (Sat, 16 Feb 2008) | 8 lines Changed paths: M /trunk/contrib/server-side/fsfsverify.py Fix a buglet in fsfsverify: don't compare the digest of rep if the digest is the null digest. * contrib/server-side/fsfsverify.py (Rep.__init__): If the digest is the null digest, then set the instance attribute to None to prevent comparison. ------------------------------------------------------------------------ r29395 | jszakmeister | 2008-02-16 07:13:17 -0500 (Sat, 16 Feb 2008) | 8 lines Changed paths: M /trunk/contrib/server-side/fsfsverify.py Break out the copyfrom revision and copyfrom path correctly from the changed path information when the copyfrom path contains spaces. * contrib/server-side/fsfsverify.py (ChangedPaths.__init__): Strip the trailing newline, and only split at the first space. ------------------------------------------------------------------------ r29396 | jszakmeister | 2008-02-16 14:38:40 -0500 (Sat, 16 Feb 2008) | 5 lines Changed paths: M /trunk/contrib/server-side/fsfsverify.py * contrib/server-side/fsfsverify.py (dumpChangedPaths): Output the transaction id, and indent the copyfrom path and revision. ------------------------------------------------------------------------ r29397 | kfogel | 2008-02-16 15:48:47 -0500 (Sat, 16 Feb 2008) | 12 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/session.c M /trunk/subversion/libsvn_ra_serf/serf.c M /trunk/subversion/libsvn_repos/repos.c Use one of the new mergeinfo API types in code that was written before the type was invented but merged to trunk after. * subversion/libsvn_repos/repos.c (svn_repos_has_capability): Use svn_mergeinfo_catalog_t, not apr_hash_t. * subversion/libsvn_ra_serf/serf.c (svn_ra_serf__has_capability): Same. * subversion/libsvn_ra_neon/session.c (svn_ra_neon__has_capability): Same. ------------------------------------------------------------------------ r29398 | kfogel | 2008-02-16 15:56:27 -0500 (Sat, 16 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c Switch to using a new mergeinfo API type; no functional change. * subversion/libsvn_repos/log.c (get_combined_mergeinfo): Use svn_mergeinfo_catalog_t, not apr_hash_t. ------------------------------------------------------------------------ r29399 | kfogel | 2008-02-16 16:04:12 -0500 (Sat, 16 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_ra_svn/client.c * subversion/libsvn_ra_svn/client.c (open_session): The repository capabilities list is optional in the protocol; therefore, check if repos_caplist is NULL before using it. Found by: arfrever ------------------------------------------------------------------------ r29401 | arfrever | 2008-02-16 16:16:44 -0500 (Sat, 16 Feb 2008) | 5 lines Changed paths: M /trunk/build/generator/gen_win.py Follow-up to r29379: Define SVN_NEON_0_28 also in Windows. * build/generator/gen_win.py (get_win_defines): Introduce definition of SVN_NEON_0_28. ------------------------------------------------------------------------ r29403 | kfogel | 2008-02-16 17:59:25 -0500 (Sat, 16 Feb 2008) | 9 lines Changed paths: M /trunk/subversion/mod_dav_svn/reports/get-locks.c M /trunk/subversion/mod_dav_svn/reports/replay.c Fix one comment buglet and one error-return-neglected buglet, both found during the audit described in issue #3102. * subversion/mod_dav_svn/reports/get-locks.c (dav_svn__get_locks_report): Fix inaccurate (cut-and-pasted?) comment. * subversion/mod_dav_svn/reports/replay.c (dav_svn__replay_report): Check for error when flushing the brigade. ------------------------------------------------------------------------ r29406 | sunny256 | 2008-02-17 13:47:55 -0500 (Sun, 17 Feb 2008) | 2 lines Changed paths: M /trunk/subversion/po/nb.po * subversion/po/nb.po: make locale-gnu-po-update at r29405. ------------------------------------------------------------------------ r29407 | kfogel | 2008-02-17 17:11:32 -0500 (Sun, 17 Feb 2008) | 4 lines Changed paths: M /trunk/www/faq.html * www/faq.html (cvs2svn): Remove obsolete FUD from this entry. Suggested by: mhagger ------------------------------------------------------------------------ r29408 | kfogel | 2008-02-17 17:13:32 -0500 (Sun, 17 Feb 2008) | 2 lines Changed paths: M /trunk/www/faq.html * www/faq.html (cvs2svn): Link to list of cvs2svn features. ------------------------------------------------------------------------ r29409 | arfrever | 2008-02-17 17:23:34 -0500 (Sun, 17 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/tree.c * subversion/libsvn_fs_fs/tree.c (fs_get_mergeinfo): Fix a typo in a message. ------------------------------------------------------------------------ r29410 | arfrever | 2008-02-17 17:29:09 -0500 (Sun, 17 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/po/pl.po Polish translation update. * subversion/po/pl.po: Polish translation update. ------------------------------------------------------------------------ r29411 | kfogel | 2008-02-18 11:34:08 -0500 (Mon, 18 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_wc/update_editor.c Documentation fixes only: * subversion/libsvn_wc/update_editor.c (struct file_baton): Document that propchanges member is never null; clarify what new_text_base_path actually is. ------------------------------------------------------------------------ r29412 | glasser | 2008-02-18 14:41:18 -0500 (Mon, 18 Feb 2008) | 52 lines Changed paths: M /trunk/subversion/mod_dav_svn/deadprops.c M /trunk/subversion/mod_dav_svn/reports/file-revs.c M /trunk/subversion/mod_dav_svn/reports/update.c M /trunk/subversion/mod_dav_svn/repos.c M /trunk/tools/server-side/svn_dav_log_parse.py M /trunk/tools/server-side/test_svn_dav_log_parse.py Change some of the SVN-ACTION DAV logging names to match the svnserve command set. Justification: - 1.5 already contains backwards-incompatible changes to the logging format; this (if it gets backported) is a reasonable time to make other bikesheddy changes. - The svnserve command set is a good vocabulary for svn operational actions; there's no reason to have a second vocabulary that is mostly but not entirely the same. - When svnserve grows logging, it would make sense to use its command set as the vocabulary; making these format changes would allow the two servers to share the same log format. The specific changes made: list-dir => get-dir revprop-change => change-rev-prop revprop-list => rev-proplist blame => get-file-revs remote-status => status diff-or-merge => diff (I would also like to get rid of prop-list, and in exchange add props?/text? fields to get-dir and a new get-file.) (It may also be worth logging get-locations and get-location-segments, especially given that the latter has complicated performance characteristics.) * subversion/mod_dav_svn/deadprops.c (save_value): revprop-change => change-rev-prop (db_first-name): revprop-list => rev-proplist * subversion/mod_dav_svn/reports/file-revs.c (dav_svn__file_revs_report): blame => get-file-revs * subversion/mod_dav_svn/reports/update.c (dav_svn__update_report): diff-or-merge => diff * subversion/mod_dav_svn/repos.c (do_walk): list-dir => get-dir * tools/server-side/svn_dav_log_parse.py Update docstring; adjust everywhere. * tools/server-side/test_svn_dav_log_parse.py Adjust everywhere. ------------------------------------------------------------------------ r29413 | lgo | 2008-02-18 15:08:22 -0500 (Mon, 18 Feb 2008) | 1 line Changed paths: M /trunk/subversion/libsvn_ra_serf/replay.c * subversion/libsvn_ra_serf/replay.c: Fix typo in comment. ------------------------------------------------------------------------ r29414 | glasser | 2008-02-18 15:08:38 -0500 (Mon, 18 Feb 2008) | 30 lines Changed paths: M /trunk/subversion/mod_dav_svn/deadprops.c M /trunk/subversion/mod_dav_svn/repos.c M /trunk/tools/server-side/svn_dav_log_parse.py M /trunk/tools/server-side/test_svn_dav_log_parse.py Change property listing action in the SVN-ACTION DAV logging names to match the svnserve command set. Specifically, remove the prop-list command; add "props" and "text" flags to the get-dir action; and create a get-file action like the get-dir one. mod_dav_svn never logs a "get-file P rR text" action, but that's OK. (See also r29412.) * subversion/mod_dav_svn/deadprops.c (db_first_name): Change "prop-list" SVN-ACTION to "get-dir props" or "get-file props". * subversion/mod_dav_svn/repos.c (do_walk): Add "text" to get-dir SVN-ACTION. * tools/server-side/svn_dav_log_parse.py Update docstring. (_parse_get_dir): Adjust. (_parse_get_file): New. (_parse_prop_list): Remove. * tools/server-side/test_svn_dav_log_parse.py (TestCase.get_dir_or_file): Extract from test_get_dir. (TestCase.test_get_dir): Now a wrapper around get_dir_or_file. (TestCase.test_get_file): New. (TestCase.test_prop_list): Remove. (Test.handle_get_dir): Adjust. (Test.handle_get_file): New. (Test.handle_prop_list): Remove. ------------------------------------------------------------------------ r29415 | glasser | 2008-02-18 16:05:41 -0500 (Mon, 18 Feb 2008) | 5 lines Changed paths: M /trunk/tools/server-side/svn_dav_log_parse.py Follow-up to r29414: fix a copy-and-paste-o. * tools/server-side/svn_dav_log_parse.py (_parse_get_file): Call the right handler. ------------------------------------------------------------------------ r29416 | jszakmeister | 2008-02-18 16:36:36 -0500 (Mon, 18 Feb 2008) | 12 lines Changed paths: M /trunk/contrib/server-side/fsfsverify.py Fix the null digest detection in fsfsverify, and implement it in a way that preserves the digest for output. * contrib/server-side/fsfsverify.py (NULL_DIGEST): New. (Rep.__init__): Don't reset the digest. (Rep.verify): Don't compare the md5 digest if the NULL digest was recorded in the node rev. ------------------------------------------------------------------------ r29417 | hwright | 2008-02-18 18:00:44 -0500 (Mon, 18 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c * subversion/libsvn_repos/log.c: Update a couple of spots to use svn_mergeinfo_t ------------------------------------------------------------------------ r29418 | glasser | 2008-02-18 18:05:59 -0500 (Mon, 18 Feb 2008) | 14 lines Changed paths: M /trunk/subversion/libsvn_ra_svn/editorp.c Fix a potential hang in svnserve/ra_svn. The specific case that triggered this was running svnsync replaying from a 1.4.x svnserve, and doing a SIGINT. Generally, the "failure" in the pipelined editor written from the client to the server happened "too late" for the server to abort the edit. Found by: lgo * subversion/libsvn_ra_svn/editorp.c (svn_ra_svn_drive_editor2): If we sent an error to the other side, consider a "success" from the other side to be the end of the commands to discard, as well as an "abort-edit". ------------------------------------------------------------------------ r29419 | glasser | 2008-02-18 18:51:37 -0500 (Mon, 18 Feb 2008) | 16 lines Changed paths: M /trunk/subversion/libsvn_ra_svn/client.c M /trunk/subversion/libsvn_ra_svn/protocol M /trunk/subversion/svnserve/serve.c Change the format of the revprops block sent in svnserve for replay-range so that the discard-rest-of-edit-after-error loop at the bottom of svn_ra_svn_drive_editor2 doesn't choke on them. This incompatible change must be backported to 1.5 or reverted on trunk. * subversion/libsvn_ra_svn/client.c (ra_svn_replay_range): Read tuple with "revprops" word at front. * subversion/svnserve/serve.c (replay_range): Write "revprops" at the beginning of tuple. * subversion/libsvn_ra_svn/protocol (replay-range): Add "revprops" word. ------------------------------------------------------------------------ r29420 | joeswatosh | 2008-02-19 02:32:02 -0500 (Tue, 19 Feb 2008) | 30 lines Changed paths: M /trunk/subversion/bindings/swig/core.i M /trunk/subversion/bindings/swig/ruby/svn/core.rb M /trunk/subversion/bindings/swig/ruby/test/test_core.rb M /trunk/subversion/bindings/swig/ruby/test/test_fs.rb M /trunk/subversion/bindings/swig/ruby/test/test_repos.rb M /trunk/subversion/bindings/swig/svn_fs.i M /trunk/subversion/bindings/swig/svn_ra.i M /trunk/subversion/bindings/swig/svn_repos.i Follow up to r29374. "Merge the mergeinfo-api-cleanup branch to trunk." * subversion/bindings/swig/core.i (%apply apr_hash_t *MERGEINFO): Apply typemap to parameters named mergeinput. (%apply apr_hash_t *MERGEINFO_HASH): Apply typemap to parameters named catagory * subversion/bindings/swig/svn_ra.i (%apply apr_hash_t *MERGEINFO_HASH): Removed. * subversion/bindings/swig/svn_fs.i * subversion/bindings/swig/svn_repos.i (%apply apr_hash_t *HASH_CSTRING): Removed. * subversion/bindings/swig/ruby/test/test_repos.rb * subversion/bindings/swig/ruby/test/test_fs.rb (SvnReposTest#test_mergeinfo): Expected result is now a mergeinfo instead of a string. * subversion/bindings/swig/ruby/test/test_core.rb (SvnCoreTest#test_mergerange_equality): New test * subversion/bindings/swig/ruby/svn/core.rb (Svn::Core::MergeRange#==): New method. (Svn::Core::MergeInfo#to_s): Use Core.mergeinfo_to_string() instead of Core.mergeinfo_to_stringbuf() (Svn::Core::RangeList#to_s): Use Core.rangelist_to_string() instead of Core.rangelist_to_stringbuf() ------------------------------------------------------------------------ r29421 | joe | 2008-02-19 04:24:17 -0500 (Tue, 19 Feb 2008) | 18 lines Changed paths: M /trunk/subversion/include/svn_config.h M /trunk/subversion/libsvn_ra_neon/ra_neon.h M /trunk/subversion/libsvn_ra_neon/session.c M /trunk/subversion/libsvn_subr/config_file.c Enable PKCS#11 (smartcard) support with neon 0.28: * subversion/libsvn_ra_neon/session.c [SVN_NEON_0_28]: Include ne_pkcs11.h (cleanup_p11provider, client_ssl_pkcs11_pin_entry): New functions. (get_server_settings): Add and handle the pk11_provider parameter. (svn_ra_neon__open): Fetch the PKCS#11 provider from the config file; if specified, initialize and set up the provider and PIN callback for both sessions, along with the cleanup. * subversion/libsvn_ra_neon/ra_neon.h: Add p11pin_iterstate field to svn_ra_neon__session_t structure. * subversion/include/svn_config.h: Add ssl-pkcs11-provider option. * subversion/libsvn_subr/config_file.c (svn_config_ensure): Document new ssl-pkcs11-provider config option. ------------------------------------------------------------------------ r29422 | joe | 2008-02-19 04:29:07 -0500 (Tue, 19 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/session.c * subversion/libsvn_ra_neon/session.c (svn_ra_neon__open) [SVN_NEON_0_27]: Set connection timeout along with read timeout. ------------------------------------------------------------------------ r29423 | joe | 2008-02-19 05:28:35 -0500 (Tue, 19 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/session.c * subversion/libsvn_ra_neon/session.c (get_server_settings): Fix to allow per-group "http-auth-types" settings (existing code was simply retrieving the global setting twice, presumably a copy'n'paste-o). ------------------------------------------------------------------------ r29424 | kou | 2008-02-19 06:37:25 -0500 (Tue, 19 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/bindings/swig/ruby/test/test_core.rb Fix coding style. * subversion/bindings/swig/ruby/test/test_core.rb (SvnCoreTest#test_mergerange_equality): Don't omit parentheses. ------------------------------------------------------------------------ r29425 | joe | 2008-02-19 06:45:11 -0500 (Tue, 19 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/session.c * subversion/libsvn_ra_neon/session.c (get_server_settings): Bring docstring up-to-date with respect to r29421 and fix reference to "neon_auto_protocols" parameter. ------------------------------------------------------------------------ r29426 | joe | 2008-02-19 07:17:31 -0500 (Tue, 19 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/session.c * subversion/libsvn_ra_neon/session.c (get_server_settings): Apply http-proxy-exceptions only to proxy-specific config options; use non-proxy-specific global defaults regardless of the exceptions setting. ------------------------------------------------------------------------ r29427 | cmpilato | 2008-02-19 08:25:37 -0500 (Tue, 19 Feb 2008) | 2 lines Changed paths: M /trunk/notes/commit-access-templates/full-committer.tmpl Request that full-committer acceptance by existing partial committers still contact the svnadmin@ account now that we are using authz on the server. ------------------------------------------------------------------------ r29428 | kameshj | 2008-02-19 10:04:20 -0500 (Tue, 19 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/libsvn_subr/mergeinfo.c Code refactor: Use 'svn_hash_diff' to diff between mergeinfo hashes instead of custom logic. * subversion/libsvn_subr/mergeinfo.c (): Include svn_hash.h (struct mergeinfo_diff_baton): New structure. (mergeinfo_hash_diff_cb): New function. (walk_mergeinfo_hash_for_diff): Remove TODO in the doc string as this commit implements the same. Use 'svn_hash_diff' to diff between mergeinfo hashes instead of custom logic. ------------------------------------------------------------------------ r29429 | joe | 2008-02-19 11:09:41 -0500 (Tue, 19 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/session.c * subversion/libsvn_ra_neon/session.c (get_server_settings): Fix spelling mistake in comment introduced in r29426. Found by: glasser ------------------------------------------------------------------------ r29432 | pburba | 2008-02-19 12:01:57 -0500 (Tue, 19 Feb 2008) | 2 lines Changed paths: M /trunk/INSTALL * INSTALL: Note that we support Neon 0.28. ------------------------------------------------------------------------ r29433 | glasser | 2008-02-19 12:59:47 -0500 (Tue, 19 Feb 2008) | 10 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/fs_fs.c When FSFS detects corruption while reading a noderev or representation, wrap the error in an error stating the noderev ID or representation key being read. * subversion/libsvn_fs_fs/fs_fs.c (get_node_revision_body): Rename from svn_fs_fs__get_node_revision. (svn_fs_fs__get_node_revision): New error-adding wrapper. (create_rep_state_body): Rename from create_rep_state. (create_rep_state): New error-adding wrapper. ------------------------------------------------------------------------ r29434 | kfogel | 2008-02-19 13:19:49 -0500 (Tue, 19 Feb 2008) | 12 lines Changed paths: M /trunk/subversion/tests/cmdline/copy_tests.py Add a regression test for what remains of issue #2986: we sometimes choose the wrong base file for copies, resulting in error. This just tests file content; we may extend to cover properties too. See http://subversion.tigris.org/issues/show_bug.cgi?id=2986#desc9. [Note: extended to test properties in r29436.] * subversion/tests/cmdline/copy_tests.py: Import shutil. (replaced_local_source_for_incoming_copy): New test. (test_list): Run it, XFail for now. ------------------------------------------------------------------------ r29435 | kfogel | 2008-02-19 17:56:39 -0500 (Tue, 19 Feb 2008) | 3 lines Changed paths: M /trunk/COMMITTERS * COMMITTERS (arfrever): Move Arfrever Frehtes Taifersar Arahesis to full committers section, as per discussion at Starfleet Headquarters. ------------------------------------------------------------------------ r29436 | kfogel | 2008-02-19 19:44:16 -0500 (Tue, 19 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/tests/cmdline/copy_tests.py Extend issue #2986 regression test: check the properties too. This follows up to r29434. * subversion/tests/cmdline/copy_tests.py (replaced_local_source_for_incoming_copy): Extend to test properties. ------------------------------------------------------------------------ r29437 | jerenkrantz | 2008-02-19 21:32:52 -0500 (Tue, 19 Feb 2008) | 8 lines Changed paths: M /trunk/configure.ac Truth in advertising. Rename --enable-dso to --enable-loadable-ra-modules to avoid confusion over overloaded term of 'dso' and give an explicit hint what this means in the name. * configure.ac (--enable-dso): Rename to.. (--enable-loadable-ra-modules): this. ------------------------------------------------------------------------ r29438 | kfogel | 2008-02-19 23:15:34 -0500 (Tue, 19 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/libsvn_wc/update_editor.c M /trunk/subversion/tests/cmdline/copy_tests.py Finish issue #2986: get copyfrom sources from under scheduled replacements. * subversion/libsvn_wc/update_editor.c (locate_copyfrom): Take new return parameter, src_entry. (add_file_with_history): Obtain the src_entry via above new parameter, use it to determine whether to get revert base or regular base, for both props and text. * subversion/tests/cmdline/copy_tests.py (test_list): Expect replaced_local_source_for_incoming_copy to pass. ------------------------------------------------------------------------ r29439 | joe | 2008-02-20 04:21:37 -0500 (Wed, 20 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/session.c * subversion/libsvn_ra_neon/session.c (parse_capabilities): Simplify (and optimise) to retrieve the DAV: response header directly rather than unnecessarily iterating through all the returned header fields to find it. Also fix the comment. ------------------------------------------------------------------------ r29440 | pburba | 2008-02-20 09:58:39 -0500 (Wed, 20 Feb 2008) | 14 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c Fix for reopened issue #2973, revert of a changeset rX on a target with merge history from same target does not work. A reverse merge to a path from that path's own history may no-op in some common mixed-rev WC situations, e.g. you make a change in rN then immediately reverse merge rN. If rN *didn't* affect the merge target, then the target's working revision is still < N and the merge will no-op. An update is needed for the reverse merge to work, so give a warning suggesting this. * subversion/libsvn_client/merge.c (calculate_remaining_ranges): Give a warning to the user that an update might be required to accomplish what they want. Suggested by: cmpilato ------------------------------------------------------------------------ r29443 | glasser | 2008-02-20 12:46:51 -0500 (Wed, 20 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/svn/main.c * subversion/svn/main.c (svn_cl__cmd_table): Fix typo in "svn propset" help string. ------------------------------------------------------------------------ r29448 | epg | 2008-02-20 13:32:35 -0500 (Wed, 20 Feb 2008) | 15 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/fs_fs.c Expand ESTALE macros to cover two other recoverable error cases, and rename them. * subversion/libsvn_fs_fs/fs_fs.c (RECOVERABLE_RETRY_COUNT): Rename from SVN_ESTALE_RETRY_COUNT. (RETRY_RECOVERABLE): Rename from SVN_RETRY_ESTALE; also retry on NOENT and EIO; and expand comments. (IGNORE_RECOVERABLE): Rename from SVN_IGNORE_ESTALE and also ignore EIO. (read_current, svn_fs_fs__revision_proplist, get_and_increment_txn_key_body): Pass new filehandle argument to RETRY_RECOVERABLE. Patch by: Dan Christian (Tweaked by me.) ------------------------------------------------------------------------ r29454 | hwright | 2008-02-20 15:52:28 -0500 (Wed, 20 Feb 2008) | 12 lines Changed paths: M /trunk/subversion/include/svn_mergeinfo.h M /trunk/subversion/libsvn_subr/mergeinfo.c M /trunk/subversion/tests/libsvn_subr/mergeinfo-test.c Remove a newly-introduced, but unused API. Suggested by: glasser * subversion/include/svn_mergeinfo.h, subversion/libsvn_subr/mergeinfo.c (svn_rangelist_count_revs): Remove. * subversion/tests/libsvn_subr/mergeinfo-test.c (test_rangelist_count_revs): Remove. (test_funcs): Remove removed test. ------------------------------------------------------------------------ r29458 | pburba | 2008-02-20 17:35:34 -0500 (Wed, 20 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c Follow-up to r29440, don't write to stderr from libsvn_client. * subversion/libsvn_client/merge.c (calculate_remaining_ranges): Scrap the svn_handle_warning() call, simply return an SVN_ERR_CLIENT_NOT_READY_TO_MERGE error. ------------------------------------------------------------------------ r29461 | pburba | 2008-02-20 17:53:13 -0500 (Wed, 20 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/libsvn_client/merge.c Follow-up to r29460, minor UI consistency tweak. * subversion/libsvn_client/merge.c (calculate_remaining_ranges): Use "reverse-merge" rather than "reverse merge" in the error text, to be consistent with the merge range notifications. Suggested by: glasser ------------------------------------------------------------------------ r29467 | cmpilato | 2008-02-20 22:05:30 -0500 (Wed, 20 Feb 2008) | 8 lines Changed paths: A /trunk/tools/examples/SvnCLBrowse * tools/examples/SvnCLBrowse New toy for playing with Subversion changelists graphically. Doesn't do much -- crawls working copies for changelists, and can display the changelist members and 'svn info' about those members. I basically whipped this up to prove to myself that the changelists functionality worked via the Python bindings Mmm... wxWidgets. ------------------------------------------------------------------------ r29478 | pburba | 2008-02-21 11:50:42 -0500 (Thu, 21 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/fs_fs.c Follow-up to r29433, minor comment fix. * subversion/libsvn_fs_fs/fs_fs.c (create_rep_state): Move comment before function definition. ------------------------------------------------------------------------ r29482 | hwright | 2008-02-21 14:33:56 -0500 (Thu, 21 Feb 2008) | 3 lines Changed paths: M /trunk/tools/dist/construct-rolling-environment.sh * tools/dist/construct-rolling-environment.sh: Update to Neon 0.28.0 ------------------------------------------------------------------------ r29484 | lgo | 2008-02-21 15:52:06 -0500 (Thu, 21 Feb 2008) | 16 lines Changed paths: M /trunk/subversion/libsvn_ra_serf/ra_serf.h M /trunk/subversion/libsvn_ra_serf/serf.c M /trunk/subversion/libsvn_ra_serf/util.c Implement ra_serf progress feedback. This requires serf@r1170 to build correctly. * subversion/libsvn_ra_serf/serf.c (svn_ra_serf__progress): New callback function that's passed to the serf library, and passes any incoming progress updates to the subversion callback function if defined. (svn_ra_serf__open): Setup serf progress feedback. * subversion/libsvn_ra_serf/util.c (svn_ra_serf__conn_setup): Use the new socket bucket creation function provided by serf, which automatically initiates the progress feedback feature. * subversion/libsvn_ra_serf/ra_serf.h (struct svn_ra_serf__session_t): add new member variables for progress feedback. ------------------------------------------------------------------------ r29485 | cmpilato | 2008-02-21 16:28:35 -0500 (Thu, 21 Feb 2008) | 1 line Changed paths: M /trunk/tools/examples/SvnCLBrowse * tools/examples/SvnCLBrowse (_item): Omit empty base class list. ------------------------------------------------------------------------ r29486 | glasser | 2008-02-21 16:38:48 -0500 (Thu, 21 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/svn/main.c Allow "-R" to be passed to "svn changelist", which supports --depth. * subversion/svn/main.c (svn_cl__cmd_table): Add 'R' to "changelist" entry. ------------------------------------------------------------------------ r29487 | glasser | 2008-02-21 16:41:09 -0500 (Thu, 21 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/svn/main.c Clarify in "svn help changelist" that changelists can only be applied to files. * subversion/svn/main.c (svn_cl__cmd_table): Change docstring. ------------------------------------------------------------------------ r29489 | glasser | 2008-02-21 17:13:41 -0500 (Thu, 21 Feb 2008) | 17 lines Changed paths: M /trunk/subversion/libsvn_ra_svn/client.c M /trunk/subversion/svnserve/serve.c Fix ra_svn/svnserve implementation of get-mergeinfo to use the documented protocol, instead of adding some extra layers of nesting and then accidentally discarding all but the first key/value pair returned. (ie, make svn_ra_get_mergeinfo with multiple targets or with include_descendants work properly over ra_svn.) * subversion/libsvn_ra_svn/client.c (ra_svn_get_mergeinfo): Parse the body of the response (ie, the X in: ( success ( X ) ) ) as a list, not a list inside yet another list. And it's not optional. * subversion/svnserve/serve.c (get_mergeinfo): Don't wrap each key/value pair in more parentheses than svn_ra_svn_write_tuple already gives you. ------------------------------------------------------------------------ r29491 | epg | 2008-02-21 17:33:09 -0500 (Thu, 21 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/tests/cmdline/svnadmin_tests.py Fix the test I added in r29329, so it works on Windows. * subversion/tests/cmdline/svnadmin_tests.py (verify_incremental_fsfs): Open the new revs file in binary mode, so we don't confuse fsfs with CRLF line endings on Windows. ------------------------------------------------------------------------ r29492 | epg | 2008-02-21 17:59:42 -0500 (Thu, 21 Feb 2008) | 22 lines Changed paths: M /trunk/contrib/client-side/svnmucc/svnmucc.c M /trunk/subversion/include/svn_opt.h M /trunk/subversion/libsvn_subr/opt.c M /trunk/subversion/svn/main.c Support --with-revprop in svnmucc. * contrib/client-side/svnmucc/svnmucc.c (commit_callback): Upgrade to svn_commit_callback2_t interface. (execute): Take revprops hash instead of log message argument and pass along to svn_ra_get_commit_editor3, not svn_ra_get_commit_editor. (usage): Document --with-revprop option. (main): Parse --with-revprop option, integrate with log message options, and pass along to execute. * subversion/libsvn_subr/opt.c (svn_opt_parse_revprop): Move parse_revprop from subversion/svn/main.c here; rename revprop_pair to revprop_spec, as it's not a pair of revprops. * subversion/include/svn_opt.h (svn_opt_parse_revprop): Declare. * subversion/svn/main.c (parse_revprop): Remove. (main): Use svn_opt_parse_revprop instead of parse_revprop. ------------------------------------------------------------------------ r29493 | epg | 2008-02-21 19:05:56 -0500 (Thu, 21 Feb 2008) | 11 lines Changed paths: M /trunk/configure.ac M /trunk/subversion/libsvn_fs/fs-loader.c M /trunk/subversion/libsvn_ra/ra_loader.c Don't try to load DSOs unless configured with --enable-loadable-ra-modules. * configure.ac Define SVN_USE_DSO for svn_private_config.h if --enable-loadable-ra-modules. * subversion/libsvn_fs/fs-loader.c (load_module): Only try DSOs if SVN_USE_DSO is defined. * subversion/libsvn_ra/ra_loader.c (load_ra_module): Only try DSOs if SVN_USE_DSO is defined. ------------------------------------------------------------------------ r29494 | maxb | 2008-02-21 19:44:00 -0500 (Thu, 21 Feb 2008) | 6 lines Changed paths: M /trunk/tools/examples/SvnCLBrowse * tools/examples/SvnCLBrowse: Add comment declaring Python 2.5 requirement. Remove getopt compatibility code that is only relevant if trying to maintain compatibility back to Python 2.2 Remove unused imports. ------------------------------------------------------------------------ r29496 | kfogel | 2008-02-21 21:00:04 -0500 (Thu, 21 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/svn/main.c * subversion/svn/main.c (svn_cl__cmd_table."changelist"): Change wording to be less ambiguous, following up to r29487. ------------------------------------------------------------------------ r29498 | kfogel | 2008-02-21 21:03:40 -0500 (Thu, 21 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/svn/main.c * subversion/svn/main.c (svn_cl__cmd_table."changelist"): Say "dissociate" not "deassociate". Suggested by: epg ------------------------------------------------------------------------ r29508 | lgo | 2008-02-21 21:25:50 -0500 (Thu, 21 Feb 2008) | 13 lines Changed paths: M /trunk/subversion/libsvn_ra_serf/serf.c M /trunk/subversion/libsvn_ra_serf/util.c Follow up r29484: fix build error and warning when not using serf trunk. Found by: epg * subversion/libsvn_ra_serf/serf.c (svn_ra_serf__progress): This function is only called when svn is build with serf trunk, so make it dependent on the latest serf version in order to suppress a build warning. * subversion/libsvn_ra_serf/util.c (svn_ra_serf__conn_setup): The serf function serf_context_bucket_socket_create is only available on serf trunk, so we have to provide backwards compatibility code. ------------------------------------------------------------------------ r29509 | kfogel | 2008-02-21 21:30:18 -0500 (Thu, 21 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_ra_neon/session.c Formatting fixes only, following up to r29421. * subversion/libsvn_ra_neon/session.c (client_ssl_pkcs11_pin_entry): Minor formatting tweaks, for consistency with the general direction of the rest of the codebase. ------------------------------------------------------------------------ r29522 | joeswatosh | 2008-02-21 23:18:39 -0500 (Thu, 21 Feb 2008) | 7 lines Changed paths: M /trunk/subversion/bindings/swig/svn_client.i Probably should have been a follow on to r28731 "Teach 'svn commit' to handle multiple changelists" when the changelist argument was changed from const char*. (Effectively reverts r24543). * subversion/bindings/swig/svn_client.i (_svn_client_commit4): Removed special handling. ------------------------------------------------------------------------ r29523 | hwright | 2008-02-22 00:07:47 -0500 (Fri, 22 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/include/svn_types.h * subversion/include/svn_types.h (svn_merge_range_t): Doxygen-ify some comments. ------------------------------------------------------------------------ r29525 | hwright | 2008-02-22 10:24:32 -0500 (Fri, 22 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/include/svn_types.h * subversion/include/svn_types.h (svn_location_segment_t): Doxygen-ify some more comments. ------------------------------------------------------------------------ r29527 | kfogel | 2008-02-22 12:08:45 -0500 (Fri, 22 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c Follow up to r29389 with documentation fixes. * subversion/libsvn_repos/log.c (rangelist_to_revs, find_merge_sources): Make real doc strings. ------------------------------------------------------------------------ r29528 | kfogel | 2008-02-22 12:13:46 -0500 (Fri, 22 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c Follow up to r29527 with another documentation tweak. * subversion/libsvn_repos/log.c (rangelist_to_revs): Remove a stray doxygen formatting mark, and put end of last sentence in the active voice. ------------------------------------------------------------------------ r29531 | hwright | 2008-02-22 12:18:06 -0500 (Fri, 22 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c * subversion/libsvn_repos/log.c (struct path_list_range, combine_mergeinfo_path_lists, do_merged_logs, do_logs): Doc string fixes. Suggested by: kfogel ------------------------------------------------------------------------ r29533 | hwright | 2008-02-22 12:36:25 -0500 (Fri, 22 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c * subversion/libsvn_repos/log.c (combine_mergeinfo_path_lists, do_merged_logs, do_logs): Followup to r29532 by further clarifying some doc strings. Suggested by: kfogel ------------------------------------------------------------------------ r29539 | cmpilato | 2008-02-22 12:51:26 -0500 (Fri, 22 Feb 2008) | 10 lines Changed paths: M /trunk/subversion/svn/schema/status.rnc Add missing values to wc-status "item" attribute. * subversion/svn/schema/status.rnc: Include "missing" and "external" as possible wc-status item= values. Found By: Daniel Mescheder me Patch By: Jeremy Hinds me ------------------------------------------------------------------------ r29540 | cmpilato | 2008-02-22 12:58:32 -0500 (Fri, 22 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/svn/schema/status.rnc * subversion/svn/schema/status.rnc Sort the wc-status item= value list, remove duplicate "external" value I added in r29539, and add the "merged" value. ------------------------------------------------------------------------ r29542 | hwright | 2008-02-22 13:28:01 -0500 (Fri, 22 Feb 2008) | 17 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c M /trunk/subversion/tests/cmdline/log_tests.py Use a rangelist-based algorithm to find paths which belong to overlapping mergeinfos. This is both quicker, and removes the possibility of a subtle server DOS attack which rangelist_to_revs() could have caused (by sending some bogus mergeinfo and causing excessive memory usage.) * subversion/libsvn_repos/log.c (rangelist_to_revs, find_merge_sources, pathlists_are_equal): Remove. (array_pop_front, struct rangelist_path, compare_rangelist_paths): New. (combine_mergeinfo_path_lists): Improve the algorithm used to combine mergeinfo path lists. Instead of breaking out each mergeinfo into its constituent revisions, use a rangelist-based algorithm to build the list of paths which have overlapping rangelists in a mergeinfo. * subversion/tests/cmdline/log_tests.py (merge_sensitive_log_single_revision): Update expectation by removing bogus revision. ------------------------------------------------------------------------ r29543 | epg | 2008-02-22 15:31:01 -0500 (Fri, 22 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/svn/propedit-cmd.c * subversion/svn/propedit-cmd.c (svn_cl__propedit): Follow-up to r22675: use correct log_msg_baton. Patch by: Kevin Radke ------------------------------------------------------------------------ r29544 | cmpilato | 2008-02-22 15:52:02 -0500 (Fri, 22 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/libsvn_subr/opt.c M /trunk/subversion/svn/main.c Poor man's long-option aliasing, introducing --cl as an alias for --changelist. * subversion/svn/main.c (svn_cl__options): Add --cl as a long-opt alias, and note this alias in --changelist's description. * subversion/libsvn_subr/opt.c (print_command_info, print_command_info2): Don't print options with NULL descriptions. ------------------------------------------------------------------------ r29546 | epg | 2008-02-22 16:49:01 -0500 (Fri, 22 Feb 2008) | 14 lines Changed paths: M /trunk/subversion/svn/propedit-cmd.c M /trunk/subversion/svn/propset-cmd.c Rewrite confusing error message when --encoding is used with properties other than textual svn:* properties. Thanks to cmpilato for coming up with the new message. * subversion/svn/propedit-cmd.c (svn_cl__propedit): Move --encoding checks (we did it twice!) much earlier in the function, so that using this option with non-svn: properties is always an error, and so the user doesn't spend time editing the property before finding his mistake. Also use new error message. * subversion/svn/propset-cmd.c (svn_cl__propset): Use new error message. ------------------------------------------------------------------------ r29551 | epg | 2008-02-22 17:21:51 -0500 (Fri, 22 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c Follow-up to r29542. * subversion/libsvn_repos/log.c (combine_mergeinfo_path_lists): Can't intermix declarations and statements in C89. ------------------------------------------------------------------------ r29553 | jerenkrantz | 2008-02-22 17:33:07 -0500 (Fri, 22 Feb 2008) | 6 lines Changed paths: M /trunk/configure.ac Follow up to r29493 - tweak option name for old --enable-dso per glasser's shade of bikeshed. * configure.ac: Actually rename argument this time; glasser's bikeshed is as beautiful as any others - repaint accordingly. ------------------------------------------------------------------------ r29554 | epg | 2008-02-22 17:36:05 -0500 (Fri, 22 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/tests/cmdline/svnadmin_tests.py * subversion/tests/cmdline/svnadmin_tests.py Import SVNUnexpectedStderr from svntest.verify, since we use it a lot! ------------------------------------------------------------------------ r29555 | epg | 2008-02-22 17:38:37 -0500 (Fri, 22 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/tests/cmdline/svnadmin_tests.py * subversion/tests/cmdline/svnadmin_tests.py (recover_fsfs, set_uuid): Pass the unexpected error output to SVNUnexpectedStderr so we have a clue what's up. ------------------------------------------------------------------------ r29556 | epg | 2008-02-22 17:53:37 -0500 (Fri, 22 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/svnadmin/main.c * subversion/svnadmin/main.c (subcommand_verify): In splitting this away from dump, accidentally lost the part that turns -r2 into -r2:2 rather than -r2:HEAD. ------------------------------------------------------------------------ r29557 | epg | 2008-02-22 17:59:19 -0500 (Fri, 22 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/libsvn_repos/dump.c * subversion/libsvn_repos/dump.c (dump_node): Split a multi-line warning in a fashion a bit easier to read. ------------------------------------------------------------------------ r29559 | lgo | 2008-02-23 03:50:14 -0500 (Sat, 23 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/tests/cmdline/copy_tests.py Fix copy_tests.py on Windows where cleanup of the test working copy fails. Patch by: Daniel Shahaf * subversion/tests/cmdline/copy_tests.py (replaced_local_source_for_incoming_copy): replace shutil.rmtree with the more effective safe_rmtree. ------------------------------------------------------------------------ r29561 | sunny256 | 2008-02-23 09:14:24 -0500 (Sat, 23 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/po/nb.po * subversion/po/nb.po: Fixed 141 fuzzy and translated 70 new messages. Still 62 fuzzy and 56 untranslated left, which will arrive soonish. Added some new dictionary entries and updated copyright year. ------------------------------------------------------------------------ r29565 | arfrever | 2008-02-23 15:40:13 -0500 (Sat, 23 Feb 2008) | 3 lines Changed paths: M /trunk/configure.ac * configure.ac (runtime-module-search): Fix comment. ------------------------------------------------------------------------ r29567 | dionisos | 2008-02-23 16:46:23 -0500 (Sat, 23 Feb 2008) | 10 lines Changed paths: M /trunk/subversion/mod_dav_svn/reports/file-revs.c M /trunk/subversion/mod_dav_svn/reports/log.c Limit mod_dav_svn memory useage. * subversion/mod_dav_svn/reports/file-revs.c (file_rev_handler): Actually clear the subpool. * subversion/mod_dav_svn/reports/log.c (log_receiver): Create an iterpool and use it when sending revprops and changed paths. ------------------------------------------------------------------------ r29568 | dionisos | 2008-02-23 16:57:08 -0500 (Sat, 23 Feb 2008) | 2 lines Changed paths: M /trunk/subversion/mod_dav_svn/reports/log.c r29567 followup: add missing #include. ------------------------------------------------------------------------ r29570 | epg | 2008-02-23 17:09:41 -0500 (Sat, 23 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/include/svn_opt.h * subversion/include/svn_opt.h (svn_opt_parse_revprop): Follow-up to r29492: note this is new in 1.6. ------------------------------------------------------------------------ r29578 | dionisos | 2008-02-24 07:07:22 -0500 (Sun, 24 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/mod_dav_svn/reports/log.c Destroy a pool after use. * subversion/mod_dav_svn/reports/log.c (log_receiver): When creating a pool, destroy it after use. ------------------------------------------------------------------------ r29579 | arfrever | 2008-02-24 11:18:02 -0500 (Sun, 24 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/po/pl.po Polish translation update. * subversion/po/pl.po: Polish translation update. ------------------------------------------------------------------------ r29580 | arfrever | 2008-02-24 12:07:34 -0500 (Sun, 24 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/bindings/swig/perl/native/Client.pm Fix issue #3110. * subversion/bindings/swig/perl/native/Client.pm: Fix documentation. Patch by: Sergey Skvortsov ------------------------------------------------------------------------ r29581 | lgo | 2008-02-24 17:57:45 -0500 (Sun, 24 Feb 2008) | 12 lines Changed paths: M /trunk/subversion/libsvn_ra_serf/auth.c ra_serf: Fix authentication fallback mechanism. If the server supports multiple authentication schemes like NTLM or Basic, just try them one after the other in the order as specified by the server in the response headers. Found by: Bert Huijben * subversion/libsvn_ra_serf/auth.c (svn_ra_serf__handle_auth): Parse the Authorization headers in two distinct steps, as serf combines them into one separated by comma. Also ignore errors in scheme initialisation or handling, instead try the other available schemes. ------------------------------------------------------------------------ r29583 | lgo | 2008-02-25 13:19:14 -0500 (Mon, 25 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_ra_serf/auth.c ra_serf: Remove abort's. * subversion/libsvn_ra_serf/auth.c (global): include svn_private_config.h for _() declaration. (handle_basic_auth): replace abort's with error messages. ------------------------------------------------------------------------ r29587 | stsp | 2008-02-25 14:25:55 -0500 (Mon, 25 Feb 2008) | 11 lines Changed paths: M /trunk/notes/tree-conflicts/detection.txt Add design discussion notes by Stephen Butler. * notes/tree-conflicts/detection.txt: Expand on use cases 4 to 6 by describing the current plan for finding in the repository history the information needed to detect tree conflicts during merge. Move "true rename" discussion to the end of the file. Also improve wording of existing text a bit. Patch by: Stephen Butler ------------------------------------------------------------------------ r29591 | epg | 2008-02-25 18:55:30 -0500 (Mon, 25 Feb 2008) | 9 lines Changed paths: M /trunk/subversion/libsvn_repos/dump.c Don't print a warning about dump when we're pretending dump is verify. * subversion/libsvn_repos/dump.c (struct edit_baton): Add new verify field, indicating whether this is a verify or not. (dump_node): Don't warn about an incomplete dump if this is a verify. (get_dump_editor): Set eb->verify to FALSE. (svn_repos_verify_fs): Set eb->verify to TRUE. ------------------------------------------------------------------------ r29593 | stylesen | 2008-02-26 01:05:20 -0500 (Tue, 26 Feb 2008) | 3 lines Changed paths: M /trunk/www/merge-tracking/design.html * www/merge-tracking/design.html (): Rename SVN_PROP_MERGE_INFO to SVN_PROP_MERGEINFO. ------------------------------------------------------------------------ r29594 | pburba | 2008-02-26 08:22:45 -0500 (Tue, 26 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/tests/cmdline/svnadmin_tests.py M /trunk/subversion/tests/cmdline/svntest/main.py Avoid some test suite cleanup problems on Win32 BDB tests. This solves some test cleanup failures I was experiencing on XP where BDB repositories couldn't be removed with main.py:safe_rmtree() when testing over ra_neon and ra_svn, see http://svn.haxx.se/dev/archive-2008-02/0684.shtml. The ultimate cause of the removal failures is unknown, but simply retrying the removal works. * subversion/tests/cmdline/svnadmin_tests.py (test_create): * subversion/tests/cmdline/svntest/main.py (run_tests): Ask for a retry when using safe_rmtree() to delete up repositories. ------------------------------------------------------------------------ r29600 | epg | 2008-02-26 14:09:37 -0500 (Tue, 26 Feb 2008) | 16 lines Changed paths: M /trunk/subversion/svnsync/main.c M /trunk/subversion/tests/cmdline/svnsync_tests.py In svnsync: r26470 changed all the subcommand batons to a shared implementation, with each baton now allocated from a pool rather than on the stack, but copy_revprops_cmd still passed the *address* of baton. To help prevent such errors in the future, how about some type checking and testing? * subversion/svnsync/main.c (with_locked_func_t): Use subcommand_baton_t * not void *; change all implementations. (with_locked): Take subcommand_baton_t * not void *. (copy_revprops_cmd): Pass baton to with_locked, not &baton. * subversion/tests/cmdline/svnsync_tests.py (run_copy_revprops): Add function to run copy-revprops. (run_test): Call run_copy_revprops after run_sync. ------------------------------------------------------------------------ r29603 | epg | 2008-02-26 14:40:43 -0500 (Tue, 26 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/tests/cmdline/svnsync_tests.py * subversion/tests/cmdline/svnsync_tests.py (run_copy_revprops): Correct comment (pasto in r29600). ------------------------------------------------------------------------ r29605 | xsteve | 2008-02-26 15:46:35 -0500 (Tue, 26 Feb 2008) | 7 lines Changed paths: M /trunk/contrib/client-side/emacs/psvn.el Introduced svn-status-default-status-arguments Patch by Doug Hellmann * trunk/contrib/client-side/emacs/psvn.el: (svn-status-default-status-arguments): New variable (svn-status-1): Use svn-status-default-status-arguments ------------------------------------------------------------------------ r29607 | hwright | 2008-02-26 21:28:27 -0500 (Tue, 26 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/libsvn_repos/log.c A couple of followups to r29542. Suggested by: pburba * subversion/libsvn_repos/log.c (array_pop_front): Also decrement the number of allocated elements, so as to avoid possibly memory issues if pushing additional elements on to the array later. (See http://svn.haxx.se/dev/archive-2008-02/0730.shtml for analysis.) (compare_rangelist_paths): Flesh out doc string. ------------------------------------------------------------------------ r29609 | joe | 2008-02-27 10:05:53 -0500 (Wed, 27 Feb 2008) | 6 lines Changed paths: M /trunk/subversion/libsvn_subr/svn_base64.c * subversion/libsvn_subr/svn_base64.c (reverse_base64): Define array. (decode_bytes): Optimise firstly by avoiding unnecessary stringbuf resizes, and secondly by using a lookup table to decode each character, rather than a linear search with strchr. ------------------------------------------------------------------------ r29611 | hwright | 2008-02-27 15:55:38 -0500 (Wed, 27 Feb 2008) | 28 lines Changed paths: M /trunk/subversion/bindings/swig/core.i M /trunk/subversion/bindings/swig/include/svn_containers.swg M /trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c M /trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h A /trunk/subversion/bindings/swig/python/tests/data A /trunk/subversion/bindings/swig/python/tests/data/mergeinfo.dump M /trunk/subversion/bindings/swig/python/tests/mergeinfo.py Python bindings: Update some output parameter typemaps. [ in subversion/bindings/swig/ ] * core.i Use MERGEINFO_CATALOG instead of MERGEINFO_HASH for both ruby and python interfaces. * python/tests/mergeinfo.py (RevRange, SubversionMergeinfoTestCase.setUp, SubversionMergeinfoTestCase.tearDown, SubversionMergeinfoTestCase.compare_mergeinfo_catalogs, SubversionMergeinfoTestCase.compare_mergeinfos, SubversionMergeinfoTestCase.compare_rangelists): New helper functions. (SubversionMergeinfoTestCase.test_mergeinfo_get): New test. * python/tests/mergeinfo.dump: New dump file. Created from the log tests 16 repository. * include/svn_containers.swg: Add some additional typemaps for hashes of C strings, and apply existing typemaps to additional output parameters. Use MERGEINFO_CATALOG instead of MERGEINFO_HASH. * python/libsvn_swig_py/swigutil_py.c, python/libsvn_swig_py/swigutil_py.h: (svn_swig_py_mergeinfo_hash_to_dict): Rename from this... (*svn_swig_py_mergeinfo_catalog_to_dict): ...to this. ------------------------------------------------------------------------ r29612 | hwright | 2008-02-27 16:22:32 -0500 (Wed, 27 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/bindings/swig/include/svn_containers.swg * subversion/bindings/swig/include/svn_containers.swg (apr_hash_t **HASH_SVN_STRING): Add output parameter revprops for svn_opt_parse_revprop(). ------------------------------------------------------------------------ r29613 | kou | 2008-02-28 06:36:56 -0500 (Thu, 28 Feb 2008) | 12 lines Changed paths: M /trunk/build/generator/swig/external_runtime.py M /trunk/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c M /trunk/subversion/bindings/swig/svn_client.i The Ruby bindings: Re-support SWIG 1.3.24 and 1.3.27. * build/generator/swig/external_runtime.py (Generator.write_external_runtime): Include rubyhead.swg to external runtime when SWIG is 1.3.24. * subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c: Remove needless #include. * subversion/bindings/swig/svn_client.i (%apply const char *MAY_BE_NULL): Add relative_to_dir. ------------------------------------------------------------------------ r29614 | cmpilato | 2008-02-28 11:25:51 -0500 (Thu, 28 Feb 2008) | 3 lines Changed paths: M /trunk/contrib/client-side/svnmerge/svnmerge-migrate-history.py * contrib/client-side/svnmerge/svnmerge-migrate-history.py (Migrator.convert_path_history): Track recent rename of the SVN_PROP_MERGE_INFO property #define to SVN_PROP_MERGEINFO ------------------------------------------------------------------------ r29616 | xsteve | 2008-02-28 14:33:34 -0500 (Thu, 28 Feb 2008) | 5 lines Changed paths: M /trunk/contrib/client-side/emacs/psvn.el Skip changelist output to support svn 1.5 with defined changelists * trunk/contrib/client-side/emacs/psvn.el: (svn-parse-status-result): skip lines starting with "--- Changelist" ------------------------------------------------------------------------ r29617 | julianfoad | 2008-02-28 15:54:56 -0500 (Thu, 28 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/svn/cl.h Enhance a doc string. * subversion/svn/cl.h (svn_cl__conflict_handler): Mention the type that this function implements. ------------------------------------------------------------------------ r29618 | kfogel | 2008-02-28 15:58:26 -0500 (Thu, 28 Feb 2008) | 4 lines Changed paths: M /trunk/www/hacking.html * www/hacking.html (log-messages): Clarify a point about renames. Found by: jrepenning ------------------------------------------------------------------------ r29619 | epg | 2008-02-28 18:51:16 -0500 (Thu, 28 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c * subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (ra_callbacks_invalidate_wc_props): When I added this in r24937, I left off the final "s" in the Python callback name! Make it "invalidate_wc_props" not "invalidate_wc_prop". ------------------------------------------------------------------------ r29621 | glasser | 2008-02-28 20:07:26 -0500 (Thu, 28 Feb 2008) | 7 lines Changed paths: M /trunk/subversion/svnserve/serve.c Tiny style tweak: don't have a statement whose correct indentation depends on an #ifdef. * subversion/svnserve/serve.c (auth_request): Restructure function so that the #ifdef doesn't have a dangling else. ------------------------------------------------------------------------ r29622 | glasser | 2008-02-28 20:26:02 -0500 (Thu, 28 Feb 2008) | 11 lines Changed paths: M /trunk/subversion/svnserve/serve.c M /trunk/subversion/svnserve/server.h Minimize use of SASL-related #ifdefs in svnserve, by making the use_sasl field always exist. * subversion/svnserve/serve.c (must_have_access, find_repos): Don't #ifdef out a check of b->use_sasl. (serve): Explicitly initialize b.use_sasl to FALSE. * subversion/svnserve/server.h (struct server_baton_t): Make use_sasl boolean always exist. ------------------------------------------------------------------------ r29623 | cmpilato | 2008-02-28 20:47:19 -0500 (Thu, 28 Feb 2008) | 5 lines Changed paths: M /trunk/contrib/client-side/svnmerge/svnmerge-migrate-history.py Update a use of the API. * contrib/client-side/svnmerge/svnmerge-migrate-history.py (Migrator.add_to_mergeinfo): Use svn_mergeinfo_to_string (since svn_mergeinfo_to_stringbuf is no more). ------------------------------------------------------------------------ r29625 | glasser | 2008-02-28 20:51:23 -0500 (Thu, 28 Feb 2008) | 14 lines Changed paths: M /trunk/subversion/libsvn_ra/ra_loader.c M /trunk/subversion/libsvn_ra_svn/client.c Make svn --version (and svnsync --version, etc) tell you if ra_svn has SASL support built in. (Note that get_description is a private API of the ra_loader, only used from svn_ra_print_modules, so hard-coding it to the svn_ra_print_modules output format is OK.) * subversion/libsvn_ra_svn/client.c (RA_SVN_DESCRIPTION): Add a second line about SASL, if available. * subversion/libsvn_ra/ra_loader.c (svn_ra_print_modules): Note that if we change the format of this function, ra_svn may need special care. ------------------------------------------------------------------------ r29626 | glasser | 2008-02-28 21:02:32 -0500 (Thu, 28 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/svnserve/main.c Make svnserve --version tell you if it has SASL support built in. * subversion/svnserve/main.c (version): Tell the user if Cyrus SASL is available. ------------------------------------------------------------------------ r29630 | hwright | 2008-02-28 21:51:33 -0500 (Thu, 28 Feb 2008) | 4 lines Changed paths: M /trunk/subversion/bindings/swig/include/svn_types.swg * subversion/bindings/swig/include/svn_types.swg (SWIGTYPE **OUTPARAM): Include svn_wc_committed_queue for svn_wc_queue_committed() return parameter. ------------------------------------------------------------------------ r29631 | hwright | 2008-02-28 21:55:11 -0500 (Thu, 28 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/bindings/swig/include/svn_containers.swg * subversion/bindings/swig/include/svn_containers.swg (apr_hash_t **HASH_STRING): Fix a typo added in r29611. ------------------------------------------------------------------------ r29632 | epg | 2008-02-29 00:00:38 -0500 (Fri, 29 Feb 2008) | 3 lines Changed paths: M /trunk/subversion/bindings/swig/python/svn/delta.py * subversion/bindings/swig/python/svn/delta.py (Editor): Add optional pool parameter to methods missing it. ------------------------------------------------------------------------ r29633 | lgo | 2008-02-29 05:17:35 -0500 (Fri, 29 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/tests/cmdline/svntest/actions.py Fix the comparison between lists in the command-line client tests. Patch by: Jeremy Hinds * subversion/tests/cmdline/svntest/actions.py (run_and_verify_svn, run_and_verify_svn_match_any): compare lists for equality with "!=", not for object identity with "is not". ------------------------------------------------------------------------ r29634 | julianfoad | 2008-02-29 06:37:58 -0500 (Fri, 29 Feb 2008) | 22 lines Changed paths: M /trunk/subversion/bindings/javahl/native/SVNClient.cpp M /trunk/subversion/bindings/javahl/native/SVNClient.h M /trunk/subversion/bindings/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp M /trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java M /trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java M /trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java M /trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java M /trunk/subversion/include/svn_client.h M /trunk/subversion/libsvn_client/merge.c M /trunk/subversion/svn/merge-cmd.c Tweak the "merge_reintegrate" API: remove the redundant "force" argument and mention the "peg_revision" argument in its doc-string. * subversion/include/svn_client.h (svn_client_merge_reintegrate): Remove the "force" argument. Mention the "peg_revision" argument. * subversion/libsvn_client/merge.c (svn_client_merge_reintegrate): Remove the "force" argument. * subversion/svn/merge-cmd.c (svn_cl__merge): Do not pass the "force" argument to "reintegrate"; instead, error if the "--force" option was given. * subversion/bindings/javahl/native/SVNClient.cpp, subversion/bindings/javahl/native/SVNClient.h, subversion/bindings/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp, subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java, subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java, subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java, subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java Remove the "force" argument from the "svn_client_merge_reintegrate" and corresponding "mergeReintegrate" functions. ------------------------------------------------------------------------ r29636 | julianfoad | 2008-02-29 07:11:14 -0500 (Fri, 29 Feb 2008) | 5 lines Changed paths: M /trunk/subversion/include/svn_client.h Fix doc string typos. * subversion/include/svn_client.h (svn_client_merge_reintegrate): Fix Doxygen syntax and argument names. ------------------------------------------------------------------------ r29641 | cmpilato | 2008-02-29 13:46:25 -0500 (Fri, 29 Feb 2008) | 12 lines Changed paths: M /trunk/subversion/svnsync/main.c Add some #ifdef-d-out logic for purging svn:mergeinfo and migrating svnmerge tracking data using svnsync. * subversion/svnsync/main.c If SVN_SYNC__REPAIR_MERGEINFO is #defined... (change_file_prop): ...drop svn:mergeinfo properties and bogus (because they only apply to directories) svnmerge-integrated and svnmerge-blocked properties. (change_dir_prop): ...drop svn:mergeinfo properties, rename svnmerge-integrated properties to svn:mergeinfo, and warn about (but allow) svnmerge-blocked properties. ------------------------------------------------------------------------ r29642 | glasser | 2008-02-29 14:41:09 -0500 (Fri, 29 Feb 2008) | 14 lines Changed paths: M /trunk/subversion/libsvn_fs_fs/fs_fs.c Make sure that "svnadmin upgrade" never leaves an FSFS repository in a broken state. Specifically, in the unlikely event that "svnadmin upgrade" failed between creating the txn-current (or txn-current-lock) files and changing the version file, the repository would have been left in "format 2", but running "svnadmin upgrade" again would fail in trying to create those files. * subversion/libsvn_fs_fs/fs_fs.c (create_file_ignore_eexist): New. (upgrade_body): Use new helper to ignore EEXIST errors when creating txn-current and its lock. ------------------------------------------------------------------------ r29643 | cmpilato | 2008-02-29 15:32:44 -0500 (Fri, 29 Feb 2008) | 10 lines Changed paths: M /trunk/subversion/svnsync/main.c Fix my ifdef-d-out mergeinfo repair/migration svnsync logic to account for the way svnmerge really stores its data. * subversion/svnsync/main.c (change_dir_prop): Handle the svnmerge-integrated properly (it has subtly different syntax than svn:mergeinfo). Also, drop the word "valid" for a notification, as it implies we did some kind of validation (which we didn't actually do). Found by: dglasser ------------------------------------------------------------------------ r29644 | cmpilato | 2008-02-29 15:48:59 -0500 (Fri, 29 Feb 2008) | 9 lines Changed paths: M /trunk/subversion/svnsync/main.c Really fix my ifdef-d-out mergeinfo repair/migration svnsync logic to account for the way svnmerge really stores its data? (Follow-up to r29643.) * subversion/svnsync/main.c (change_dir_prop): Use a stringbuf to build the mergeinfo string in pieces, which allows me to do what I *meant* to do before in this code and omit blank lines and such which might live in the svnmerge property values. ------------------------------------------------------------------------ r29645 | pburba | 2008-02-29 16:54:19 -0500 (Fri, 29 Feb 2008) | 12 lines Changed paths: M /trunk/subversion/libsvn_subr/mergeinfo.c M /trunk/subversion/tests/libsvn_subr/mergeinfo-test.c Ensure svn_mergeinfo_parse() returns only SVN_ERR_MERGEINFO_PARSE_ERROR. * subversion/libsvn_subr/mergeinfo.c (svn_mergeinfo_parse): Wrap any other errors encountered in parsing with SVN_ERR_MERGEINFO_PARSE_ERROR. * subversion/tests/libsvn_subr/mergeinfo-test.c (broken_mergeinfo_vals): Add some more invalid mergeinfo tests. (test_parse_broken_mergeinfo): Fail if parse error is anything but SVN_ERR_MERGEINFO_PARSE_ERROR. Suggested by: cmpilato ------------------------------------------------------------------------ r29646 | glasser | 2008-02-29 16:58:32 -0500 (Fri, 29 Feb 2008) | 6 lines Changed paths: M /trunk/configure.ac * configure.ac: Rename enable_dso to use_dso so --enable-dso is truly ignored as an argument. Patch by: Dan Christian ------------------------------------------------------------------------ r29647 | glasser | 2008-02-29 17:24:17 -0500 (Fri, 29 Feb 2008) | 5 lines Changed paths: M /trunk/configure.ac Followup to r29646. * configure.ac: Fix typo not in Dan's original patch. ------------------------------------------------------------------------ r29648 | kfogel | 2008-02-29 20:35:05 -0500 (Fri, 29 Feb 2008) | 47 lines Changed paths: M /trunk/subversion/include/svn_client.h M /trunk/subversion/include/svn_wc.h M /trunk/subversion/svn/cl.h M /trunk/subversion/svn/conflict-callbacks.c M /trunk/subversion/svn/main.c M /trunk/subversion/svn/resolved-cmd.c Present the "in-full" and "conflicting-hunks-only" choices for interactive conflict resolution more symmetrically. See this message and its thread: http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=135509 From: "Justin Erenkrantz" Sender: justin.erenkrantz@gmail.com To: "Subversion Developers" Subject: Issue #3048 and r29189 Date: Wed, 27 Feb 2008 07:49:06 -0800 Message-ID: <5c902b9e0802270749p5ac0d4f7p75501a2c47dd7135@mail.gmail.com> On the surface this is a UI change: some interactive choice indicators now use two letters, instead of depending on case-sensitivity. Under the surface, a bunch of enums and constants got renamed, so that the two flavors of conflict resolution get equal billing in the code too. * subversion/include/svn_wc.h (svn_wc_conflict_choice_t): svn_wc_conflict_choose_theirs_conflict and svn_wc_conflict_choose_mine_conflict replace svn_wc_conflict_choose_theirs and svn_wc_conflict_choose_mine, respectively. (svn_wc_resolved_conflict3): Adjust doc string for above renames. * subversion/svn/cl.h (svn_cl__accept_t): svn_cl__accept_theirs_conflict and svn_cl__accept_mine_conflict replace svn_cl__accept_theirs and svn_cl__accept_mine, respectively. (SVN_CL__ACCEPT_THEIRS_CONFLICT): Replace SVN_CL__ACCEPT_THEIRS. (SVN_CL__ACCEPT_MINE_CONFLICT): Replace SVN_CL__ACCEPT_MINE. * subversion/svn/conflict-callbacks.c (svn_cl__conflict_handler): Adjust for above renames. Offer "tf", "mf", and "df" instead of "T", "M", and "D" at prompt, and rearrange the code to handle two-letter responses from the user. (svn_cl__accept_from_word): Adjust for above renames. * subversion/include/svn_client.h (svn_client_resolved2): Adjust doc string for above renames. * subversion/svn/resolved-cmd.c (svn_cl__resolved): Adjust for above renames. * subversion/svn/main.c (svn_cl__options, svn_cl__cmd_table): Adjust comments for above renames. ------------------------------------------------------------------------ r29650 | markphip | 2008-02-29 21:11:44 -0500 (Fri, 29 Feb 2008) | 8 lines Changed paths: M /trunk/subversion/bindings/javahl/native/ConflictResolverCallback.cpp JavaHL: Follow up to r29648 by fixing up the renamed conflict callback enumerations. [ in subversion/bindings/javahl ] * native/ConflictResolverCallback.cpp (javaChoiceToC): update the switch statement to reflect the new values. ------------------------------------------------------------------------ r29656 | kfogel | 2008-02-29 22:32:45 -0500 (Fri, 29 Feb 2008) | 12 lines Changed paths: M /trunk/subversion/bindings/javahl/native/ConflictResolverCallback.cpp Follow up to r29650 with further name consistification: * subversion/bindings/javahl/native/ConflictResolverCallback.cpp (ConflictResolverCallback::javaChoiceToC): org_tigris_subversion_javahl_ConflictResult_chooseTheirsConflict replaces org_tigris_subversion_javahl_ConflictResult_chooseTheirs and org_tigris_subversion_javahl_ConflictResult_chooseMineConflict replaces org_tigris_subversion_javahl_ConflictResult_chooseMine. ------------------------------------------------------------------------ r29658 | kfogel | 2008-02-29 23:03:41 -0500 (Fri, 29 Feb 2008) | 9 lines Changed paths: M /trunk/www/hacking.html Document the alpha/beta procedures in hacking.html. Suggested by: hwright * www/hacking.html (release-numbering): Include alphas and a beta in the example, and fix up some unrelated buglets. (alphas-betas): New section. ------------------------------------------------------------------------ r29659 | glasser | 2008-02-29 23:58:59 -0500 (Fri, 29 Feb 2008) | 7 lines Changed paths: M /trunk/subversion/svnserve/cyrus_auth.c Clear a bunch of error leaks in the svnserve Cyrus SASL implementation. * subversion/svnserve/cyrus_auth.c (fail_cmd, cyrus_auth_request): Clear all errors written to the client. ------------------------------------------------------------------------