Apache Cordova

Apache Cordova

Source changes - FishEye

Shows the 20 most recent commits for Apache Cordova.

Julian Foad committed 1670647 (4 files)
Reviews: none

On the 'ra-git' branch: update to libgit2 v0.22

Patch by: Carlos Martín Nieto <cmn{_AT_}elego.de>
  (tweaked by me: removed the quoting style change in autogen.sh)

* BRANCH-README:
  Specify we build against libgit2 v0.22.

* autogen.sh:
  Fix the LIBTOOL_CONFIG replacement when overriding the config file path.

* subversion/libsvn_ra_git/ra_plugin.c:
  (do_libgit_init): the init function was renamed to git_libgit2_init().
  (split_url): remotes which are not in the config are now called anonymous.
  (do_git_fetch): pass NULL to git_remote_fetch() to get default reflog entries.
  (svn_ra_git__open): git_remote_load() was renamed git_remote_lookup().
  (remote_progress_cb, svn_ra_git__open): the progress callback has been
    renamed to sideband_progress. Rename our callback function to
    remote_sideband_progress_cb to match libgit2 naming.
  (compare_git_tree_entries): git_tree_entry_byoid is now git_tree_entry_byid.

* subversion/libsvn_ra_git/reporter.c:
  (blob_relatedness_cb): delta file field oid has been renamed to id.

Julian Foad committed 1669143 (3 files)
Reviews: none

On the 'move-tracking-2' branch: Fix a Windows build problem.

* subversion/include/private/svn_editor3p.h
  (svn_editor3p_res,
   svn_editor3p_cb_res_t,
   svn_editor3p_cb_funcs_t): Always declare the 'resurrect' interface.

* subversion/libsvn_delta/editor3p.c
  (svn_editor3p_res,
   wrap_res,
   svn_editor3p__get_debug_editor): Always define the 'resurrect' interface;
    just let its body be ifdef'd out.

* subversion/libsvn_delta/compat3p.c
  (editor3_res,
   svn_delta__ev3_from_delta_for_commit): Same.

Bert Huijben committed 1665901 (1 file)
Reviews: none

Following up on r1665886, add regression test on how the prompt function
is called based on the settings in both the auth and slave auth baton.

* subversion/tests/libsvn_subr/auth-test.c
  (plaintext_baton_t): New struct.
  (plaintext_prompt_cb): New function.
  (test_save_cleartext): New function.
  (test_list): Add test_save_cleartext.

Bert Huijben committed 1665851 (1 file)
Reviews: none

* subversion/libsvn_delta/compat.c
  (alter_file_cb): Resolve compiler warning by combining two ifs.
    Move a few variable updates to before the file copy to keep comments valid.
    This also allows reducing the variable scope of the variables causing the
    warning.

Bert Huijben committed 1665456 (3 files)
Reviews: none

Make all ra layers behave the same way on passing invalid revisions to
svn_ra_replay().

* subversion/libsvn_ra/ra_loader.c
  (svn_ra_replay): Add assertion on requirements as already checked by DAV
    and SVN.

* subversion/libsvn_repos/replay.c
  (path_driver_cb_func): Let the actual editor decide how it uses its batons.
    The standard delta editor always uses NULL batons, which doesn't make it
    invalid.
  (svn_repos_replay2): Apply sanity check instead of correcting.
  (svn_repos__replay_ev2): Use proper check.

* subversion/tests/libsvn_ra/ra-test.c
  (ra_revision_errors): Extend test.

Bert Huijben committed 1665259 (1 file)
Reviews: none

In ra-serf's error handling: Following up on r1557686, make sure that after we
decide to discard the body, we don't assume that the handler is no longer
scheduled.

A test triggering this issue will be added in a followup patch.

* subversion/libsvn_ra_serf/util.c
  (handle_response_cb): Keep the handler marked as scheduled, to allow processing
    the remaining data (by ignoring) later *or* by resetting the connection if
    the handler's pool is destroyed.

Julian Foad committed 1662667 (6 files)
Reviews: none

On the 'move-tracking-2' branch: Start implementing sequence points in the
editor, and use them to fix the deletion problem encountered in r1662505.

* subversion/include/private/svn_editor3.h
  (svn_editor3_sequence_point,
   svn_editor3_cb_sequence_point_t): New.
  (svn_editor3_cb_funcs_t): Add the 'sequence_point' method.
  (svn_branch_purge_r): New.

* subversion/libsvn_delta/branching.c
  (svn_branch_map_purge_orphans): Harden a condition: a subbranch-root
    element must never have content.
  (svn_branch_purge_r): New.
  (svn_branch_get_all_sub_branches): Rewrite so it doesn't rely on
    path-based queries and so doesn't require a sequence point.

* subversion/libsvn_delta/compat3b.c
  (editor3_delete): Don't try to delete subbranches, and so don't require a
    sequence point.
  (convert_branch_to_paths): No longer 'purge orphan elements' here, as we
    now reach a sequence point at a higher level.
  (editor3_sequence_point): New method.
  (editor3_complete): Also apply a sequence point here.
  (svn_delta__ev3_from_delta_for_commit2): Add the new method in the vtable.

* subversion/libsvn_delta/compat3.c
  (svn_delta__ev3_from_delta_for_commit): Add a null entry in the vtable.

* subversion/libsvn_delta/editor3.c
  (svn_editor3_sequence_point,
   wrap_sequence_point): New functions.
  (svn_editor3__get_debug_editor): Add the new method in the vtable.

* subversion/svnmover/svnmover.c
  (branch_merge_subtree_r,
   do_move): Update comments.
  (execute): Apply a sequence point at the beginning of each iteration.

Bert Huijben committed 1661899 (2412 files)
Reviews: none

Create '1.9.x-db-verify' branch as a starting point for backporting
several db stability fixes.

* build/transform_sql.py (Partial of r1660742)
  Make IS_STRICT_DESCENDANT_OF() usable between db columns

* build.conf (r1660874)
  (svn-wc-db-tester): New tool.
  (__MORE__): Add svn-wc-db-tester and x509-parser.
  (x509-parser): Add description.

* subversion/include/private/svn_sqlite.h (r1660659)
  (svn_sqlite__func_t): Update prototype.

* subversion/libsvn_subr/sqlite.c (r1660610, r1660641, r1660659, r1661890)
  (function_wrapper_baton_t): Remove pool.
  (wrapped_func): Update caller. (Different argument type)
  (svn_sqlite__create_scalar_function): Avoid init of state pool.
  (svn_sqlite__value_type,
   svn_sqlite__value_text): Handle different argument type.

* subversion/libsvn_wc/wc-checks.sql (many)
  (STMT_STATIC_VERIFY): Bring up to date with trunk.

* subversion/libsvn_wc/wc-queries.sql (1660758)
  (STMT_SELECT_DELETION_INFO): Use join make query more similar to other cases.
  (STMT_SELECT_DELETION_INFO_SCAN): Remove query that searched for moved
    information in multiple (including wrong) locations.

* subversion/libsvn_wc/wc_db.c
  (scan_deletion_txn): Update statement usage. Only search for moved_to in the
    intended layer. (r1660758)

  (svn_wc__db_verify_db_full_internal,
   svn_wc__db_verify_db_full): New functions. (r1660874)

* subversion/libsvn_wc/wc_db.h (r1660874)
  (svn_wc__db_verify_cb_t): New prototype.
  (svn_wc__db_verify_db_full): New function.

* subversion/libsvn_wc/wc_db_private.h (r1660874)
  (svn_wc__db_verify_db_full_internal): New function.

* subversion/libsvn_wc/wc_db_util.c (r1661890)
  (relpath_depth_sqlite): Update prototype.

* subversion/libsvn_wc/wc_db_wcroot.c (r1660874)
  (verify_sqlite): Rename to...
  (verify_db_cb): ... this. Implement svn_wc__db_verify_cb_t.
  (close_wcroot): Update caller.

* subversion/tests/libsvn_subr/sqlite-test.c
  (error_second): Update argument (r1660659).

* subversion/tests/libsvn_wc/db-test.c
  (r1658602,1660529,1660587,1660633,1660687,1660758,1660928)
  (TESTING_DATA): Convert sqlite statements to...
  (nodes_init_data,
   actual_init_data): New variables.
  (create_open): Update caller.
  (validate_abspath): Return svn_error_t * to provide details.
  (*): Minor expectation fixes.

* subversion/tests/libsvn_wc/entries-compat.c (r1660928,1660955,1660961)
  (TESTING_DATA): Convert sqlite statements to...
  (nodes,
   actuals): New variables.
  (create_fake_wc): Update callers.
  (test_entries_alloc): Assume a few more nodes, to make db valid.

* subversion/tests/libsvn_wc/op-depth-test.c (r1660587)
  (insert_actual): Ensure that pristine data exists before turning a directory
    in a file.

* subversion/tests/libsvn_wc/utils.c (r1660928)
  (includes): Add token-map.h.
  (svn_test__create_fake_wc): Add support for creating nodes from C structs.

* subversion/tests/libsvn_wc/utils.h (r1660928)
  (svn_test__nodes_data_t,
   svn_test__actual_data_t): New structs.
  (svn_test__create_fake_wc): Add arguments.

* subversion/tests/libsvn_wc/wc-queries-test.c (r1660587,1660610)
  (relpath_depth_sqlite,
   test_verify_parsable): New functions, to verify that the verify code is
     accepted by sqlite.
  (test_funcs): Add test_verify_parsable.

* subversion/tests/libsvn_wc/wc-test-queries.sql (r1660587)
  (STMT_ENSURE_EMPTY_PRISTINE): New statement.
  (STMT_NODES_SET_FILE): Really turn a directory into a file.

subversion 1.9.x-db-verify
Julian Foad committed 1661726 (2 files)
Reviews: none

Tweak documentation following r1659863.

* subversion/include/svn_repos.h
  (svn_repos_get_commit_editor5): Document that commit_info.repos_root is
    null. Tweak @since to make another change more visible.

* subversion/libsvn_repos/commit.c
  (invoke_commit_cb): Adjust comment.

Bert Huijben committed 1660874 (7 files)
Reviews: none

Make it easier to run the sql static verifications on a working copy
by creating a private api and adding a small helper tool using this
api.

If you need a typical example you could use
[[
$ svn-wc-db-tester svn-test-work/libsvn_wc/db-test/test_getting_info
J/J-e (depth=2) DBV0061: Moved to without target
K/K-b (depth=1) DBV0061: Moved to without target
svn-wc-db-tester: E155035: Found one or more potential wc.db inconsistencies
]]

* build.conf
  (svn-wc-db-tester): New tool.
  (__MORE__): Add new tools.
  (x509-parser): Add description.

* subversion/libsvn_wc/wc-checks.sql
  (STMT_STATIC_VERIFY): Extend. Separate id from message to support api.

* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_verify_db_full_internal,
   svn_wc__db_verify_db_full): New functions.

* subversion/libsvn_wc/wc_db.h
  (svn_wc__db_verify_cb_t): New typedef.
  (svn_wc__db_verify_db_full): New function.

* subversion/libsvn_wc/wc_db_private.h
  (svn_wc__db_verify_db_full_internal): New function.

* subversion/libsvn_wc/wc_db_wcroot.c
  (verify_sqlite): Rename to...
  (verify_db_cb): ... this. Implement svn_wc__db_verify_cb_t.
  (close_wcroot): Update caller.

* tools/dev/wc-ng/svn-wc-db-tester.c
  New file, based on the svnraisetreeconflict code.

Bert Huijben committed 1659863 (5 files)
Reviews: none

Fill in the repository root in the commit info when creating it, instead of
relying of a fixup that calls back into the ra layer from an ra layer
callback.

* subversion/libsvn_ra/ra_loader.c
  (ccw_baton,
   commit_callback_wrapper,
   remap_commit_callback): Move to libsvn_ra_local/ra_plugin.

  (svn_ra_get_commit_editor3,
   svn_ra__get_commit_ev2): Remove unneeded call.

* subversion/libsvn_ra_local/ra_plugin.c
  (ccw_baton,
   commit_callback_wrapper,
   remap_commit_callback): Move here.

  (svn_ra_local__get_commit_editor,
   svn_ra_local__get_commit_ev2): Add call to remap_commit_callback.

* subversion/libsvn_ra_serf/merge.c
  (svn_ra_serf__run_merge): Set repository root.

* subversion/libsvn_ra_svn/client.c
  (ra_svn_end_commit): Set repository root.

* subversion/libsvn_repos/commit.c
  (invoke_commit_cb): Document that we don't set repository root.

Ivan Latysh committed 1658696 (1 file)
Reviews: none

Refactor code a bit.

* subversion/libsvn_delta/compat.c
  (alter_file_cb): Inverse condition to avoid negation.

Stefan Sperling committed 1655875 (1 file)
Reviews: none

On the pin-externals branch, don't close an editor dir baton too early.

Found by: rhuijben

* subversion/libsvn_client/copy.c
  (path_driver_cb_func): If we open a directory here to apply an svn:externals
   property change, let the driver close the resulting directory baton. This
   allows the driver to traverse further into the directory before closing
   it if needed.

Stefan Sperling committed 1655012 (1 file)
Reviews: none

On the pin-externals branch, remove SVN_DBG() statements.

* subversion/libsvn_client/copy.c
  (pin_externals_prop, resolve_pinned_externals,
   do_wc_to_wc_copies_with_write_lock, path_driver_cb_func,
   queue_prop_change_commit_items, repos_to_wc_copy_single): Remove SVN_DBG().

Bert Huijben committed 1654771 (1 file)
Reviews: none

Tweak a tiny bit of code to help during debugging. No runtime change.

* subversion/libsvn_ra_serf/util.c
  (accept_response,
   accept_head): Document baton.
  (setup_request_cb): Use handler as baton instead of the session, to
    allow access to the request information from callbacks.

Bert Huijben committed 1654690 (3 files)
Reviews: none

Refactor the stat function in ra_serf to avoid more unneeded intermediate
state in hashtables. We can just process the information directly now.

* subversion/libsvn_ra_serf/property.c
  (svn_ra_serf__walk_node_props): Remove function.

* subversion/libsvn_ra_serf/ra_serf.h
  (svn_ra_serf__walker_visitor_t): Remove typedef.
  (svn_ra_serf__walk_node_props): Remove function.

* subversion/libsvn_ra_serf/stat.c
  (fetch_path_props): Remove function. Fold into callers.
  (get_resource_type): Remove function. Fold into caller.

  (svn_ra_serf__check_path): Integrate fetch_path_props and
      get_resource_type.

  (dirent_walker_baton_t): Rename to...
  (fill_dirent_baton_t): ... this.
  (dirent_walker): Rename to...
  (fill_dirent_propfunc): ... this. Implement svn_ra_serf__prop_func_t and
    re-organize if to make most likely results take less checks.
  (svn_ra_serf__stat): Create a propfind handler directly, instead of
    fetching a hash with data and then walking it with the same callback
    that could just handle the data directly.
  (get_dir_dirents_cb): Update caller.

Bert Huijben committed 1654681 (4 files)
Reviews: none

In ra_serf, refactor the get_file() implementation to collect its special
properties directly instead of via an intermediate 'generic hash'.

* subversion/libsvn_ra_serf/get_file.c
  (try_get_wc_contents): Use direct argument for checksum.
  (file_prop_baton_t): New struct.
  (get_file_prop_cb): New function.
  (svn_ra_serf__get_file): Avoid the far too generic node prop functions.

* subversion/libsvn_ra_serf/property.c
  (propfind_context_t,
   svn_ra_serf__create_propfind_handler): Update type usage.
  (set_flat_props,
   svn_ra_serf__flatten_props): Remove functions.
  (svn_ra_serf__get_resource_type): Move this function to stat.c

* subversion/libsvn_ra_serf/ra_serf.h
  (svn_ra_serf__prop_func): Rename to...
  (svn_ra_serf__prop_func_t): ... this.
  (svn_ra_serf__deliver_svn_props,
   svn_ra_serf__deliver_node_props): Update comments.
  (svn_ra_serf__create_propfind_handler): Update type usage.

  (svn_ra_serf__flatten_props,
   svn_ra_serf__get_resource_type): Remove functions.

  (svn_ra_serf__report_resource): Update comment.

* subversion/libsvn_ra_serf/stat.c
  (get_resource_type): New function.
  (svn_ra_serf__check_path): Update caller.

Bert Huijben committed 1654278 (1 file)
Reviews: none

Document a few pools that we receive from serf by renaming them. Create
scratch pool for use during setup.

* subversion/libsvn_ra_serf/util.c
  (handle_response_cb): Document that we don't receive a true scratch pool.
  (setup_request_cb): Create and destroy subpool.

Stefan Sperling committed 1643844 (2 files)
Reviews: none

On the pin-externals branch: Don't crash when setting externals within a copy.

* subversion/libsvn_client/copy.c
  (path_driver_cb_func): When setting a new svn:externals value, open the
   target directory if it wasn't already opened, and close it afterwards.

Stefan Sperling committed 1643757 (2396 files)
Reviews: none

Create the pin-externals branch, which is about automated pinning of URLs in
svn:externals properties during 'svn copy' operations (issue #1258, svncopy.pl).

This is work in progress. Basic functionality exists for all kinds of copy
operations (repos->repos, repos->WC, WC->repos, WC->WC). There are no tests
yet. The API could be improved (according to Branko) to serve needs of GUI
clients better. The code contains SVN_DBG print statements.

* subversion/include/svn_client.h
  (svn_client_copy7): Declare.
  (svn_client_copy6): Deprecate.

* subversion/libsvn_client/client.h
  (svn_client__remote_propget): Declare.

* subversion/libsvn_client/copy.c
  (pin_externals_prop, resolve_pinned_externals,
   queue_externals_change_path_infos,
   queue_prop_change_commit_items): New helpers.
  (do_wc_to_wc_copies_with_write_lock, do_wc_to_wc_copies): Implement externals
   pinning for WC->WC copies.
  (path_driver_info_t, path_driver_cb_func): Add functionality for pinning
   externals during copies involving the repository.
  (repos_to_repos_copy): Implement externals pinning for repos->repos copies.
  (wc_to_repos_copy): Implement externals pinning for wc->repos copies.
  (repos_to_wc_copy_single): Implement externals pinning for repos->wc copies.
  (repos_to_wc_copy_locked, repos_to_wc_copy, try_copy): Pass new parameters
   on to other functions.
  (svn_client_copy7): New variant of svn_client_copy() which supports a new
   'pin_externals' boolean argument.
  (svn_client_move7): Pass FALSE for pin_externals while copying.

   
* subversion/libsvn_client/deprecated.c
  (svn_client_copy6): Moved here.

* subversion/libsvn_client/prop_commands.c
  (remote_propget): Rename to svn_client__remote_propget().
  (svn_client_revprop_set2, svn_client_propget5): Update callers.

* subversion/svn/cl.h
  (svn_cl__opt_state_t): Add pin_externals option.

* subversion/svn/copy-cmd.c
  (svn_cl__copy): Use svn_client_copy7().

* subversion/svn/svn.c
  (svn_cl__longopt_t): Add opt_pin_externals.
  (svn_cl__options, svn_cl__cmd_table): Add --pin-externals option.
  (sub_main): Handle --pin-externals option.

subversion pin-externals