Return-Path: X-Original-To: apmail-subversion-commits-archive@minotaur.apache.org Delivered-To: apmail-subversion-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 901F711363 for ; Wed, 9 Apr 2014 16:53:59 +0000 (UTC) Received: (qmail 34661 invoked by uid 500); 9 Apr 2014 16:53:59 -0000 Delivered-To: apmail-subversion-commits-archive@subversion.apache.org Received: (qmail 34552 invoked by uid 500); 9 Apr 2014 16:53:57 -0000 Mailing-List: contact commits-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@subversion.apache.org Delivered-To: mailing list commits@subversion.apache.org Received: (qmail 34535 invoked by uid 99); 9 Apr 2014 16:53:55 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Apr 2014 16:53:55 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Apr 2014 16:53:53 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id CAA2923888FE; Wed, 9 Apr 2014 16:53:32 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1586033 - in /subversion/branches/remote-only-status/subversion/libsvn_wc: status.c wc_db.c wc_db.h Date: Wed, 09 Apr 2014 16:53:32 -0000 To: commits@subversion.apache.org From: brane@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20140409165332.CAA2923888FE@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: brane Date: Wed Apr 9 16:53:32 2014 New Revision: 1586033 URL: http://svn.apache.org/r1586033 Log: On the remote-only-status branch: Perform some delicate surgery with a hammer. * subversion/libsvn_wc/wc_db.h (svn_wc__db_base_read_info, svn_wc__db_base_read_info_fn_t): Remove. * subversion/libsvn_wc/wc_db.c (svn_wc__db_read_info): Removed wrapper implementation. (read_info_with_txn): Renamed back to svn_wc__db_read_info. (svn_wc__db_base_read_info): Removed. * subversion/libsvn_wc/status.c (internal_status): Use svn_wc__db_base_get_info() in the remote-only case. Modified: subversion/branches/remote-only-status/subversion/libsvn_wc/status.c subversion/branches/remote-only-status/subversion/libsvn_wc/wc_db.c subversion/branches/remote-only-status/subversion/libsvn_wc/wc_db.h Modified: subversion/branches/remote-only-status/subversion/libsvn_wc/status.c URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/libsvn_wc/status.c?rev=1586033&r1=1586032&r2=1586033&view=diff ============================================================================== --- subversion/branches/remote-only-status/subversion/libsvn_wc/status.c (original) +++ subversion/branches/remote-only-status/subversion/libsvn_wc/status.c Wed Apr 9 16:53:32 2014 @@ -2849,18 +2849,27 @@ internal_status(svn_wc_status3_t **statu these values to determine if a node is switched */ if (!is_root) { - const svn_wc__db_base_read_info_fn_t read_info_fn = - (check_working_copy ? svn_wc__db_read_info : svn_wc__db_base_read_info); const char *const parent_abspath = svn_dirent_dirname(local_abspath, scratch_pool); - SVN_ERR(read_info_fn(NULL, NULL, NULL, - &parent_repos_relpath, - &parent_repos_root_url, - &parent_repos_uuid, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, - db, parent_abspath, result_pool, scratch_pool)); + if (check_working_copy) + SVN_ERR(svn_wc__db_read_info(NULL, NULL, NULL, + &parent_repos_relpath, + &parent_repos_root_url, + &parent_repos_uuid, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, + db, parent_abspath, + result_pool, scratch_pool)); + else + SVN_ERR(svn_wc__db_base_get_info(NULL, NULL, NULL, + &parent_repos_relpath, + &parent_repos_root_url, + &parent_repos_uuid, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + db, parent_abspath, + result_pool, scratch_pool)); } else { Modified: subversion/branches/remote-only-status/subversion/libsvn_wc/wc_db.c URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/libsvn_wc/wc_db.c?rev=1586033&r1=1586032&r2=1586033&view=diff ============================================================================== --- subversion/branches/remote-only-status/subversion/libsvn_wc/wc_db.c (original) +++ subversion/branches/remote-only-status/subversion/libsvn_wc/wc_db.c Wed Apr 9 16:53:32 2014 @@ -8763,71 +8763,6 @@ svn_wc__db_read_info_internal(svn_wc__db } -static svn_error_t * -read_info_with_txn(svn_wc__db_status_t *status, - svn_node_kind_t *kind, - svn_revnum_t *revision, - const char **repos_relpath, - const char **repos_root_url, - const char **repos_uuid, - svn_revnum_t *changed_rev, - apr_time_t *changed_date, - const char **changed_author, - svn_depth_t *depth, - const svn_checksum_t **checksum, - const char **target, - const char **original_repos_relpath, - const char **original_root_url, - const char **original_uuid, - svn_revnum_t *original_revision, - svn_wc__db_lock_t **lock, - svn_filesize_t *recorded_size, - apr_time_t *recorded_time, - const char **changelist, - svn_boolean_t *conflicted, - svn_boolean_t *op_root, - svn_boolean_t *have_props, - svn_boolean_t *props_mod, - svn_boolean_t *have_base, - svn_boolean_t *have_more_work, - svn_boolean_t *have_work, - svn_wc__db_t *db, - const char *local_abspath, - svn_boolean_t base_tree_only, - apr_pool_t *result_pool, - apr_pool_t *scratch_pool) -{ - svn_wc__db_wcroot_t *wcroot; - const char *local_relpath; - apr_int64_t repos_id, original_repos_id; - - SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath)); - - SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db, - local_abspath, scratch_pool, scratch_pool)); - VERIFY_USABLE_WCROOT(wcroot); - - SVN_WC__DB_WITH_TXN4( - read_info(status, kind, revision, repos_relpath, &repos_id, - changed_rev, changed_date, changed_author, - depth, checksum, target, original_repos_relpath, - &original_repos_id, original_revision, lock, - recorded_size, recorded_time, changelist, conflicted, - op_root, have_props, props_mod, - have_base, have_more_work, have_work, - wcroot, local_relpath, base_tree_only, - result_pool, scratch_pool), - svn_wc__db_fetch_repos_info(repos_root_url, repos_uuid, - wcroot->sdb, repos_id, result_pool), - svn_wc__db_fetch_repos_info(original_root_url, original_uuid, - wcroot->sdb, original_repos_id, - result_pool), - SVN_NO_ERROR, - wcroot); - - return SVN_NO_ERROR; -} - svn_error_t * svn_wc__db_read_info(svn_wc__db_status_t *status, svn_node_kind_t *kind, @@ -8861,65 +8796,35 @@ svn_wc__db_read_info(svn_wc__db_status_t apr_pool_t *result_pool, apr_pool_t *scratch_pool) { - return svn_error_trace(read_info_with_txn( - status, kind, revision, - repos_relpath, repos_root_url, repos_uuid, - changed_rev, changed_date, changed_author, - depth, checksum, target, original_repos_relpath, - original_root_url, original_uuid, - original_revision, lock, - recorded_size, recorded_time, changelist, - conflicted, op_root, have_props, props_mod, - have_base, have_more_work, have_work, - db, local_abspath, FALSE /* base_tree_only */, - result_pool, scratch_pool)); -} + svn_wc__db_wcroot_t *wcroot; + const char *local_relpath; + apr_int64_t repos_id, original_repos_id; -svn_error_t * -svn_wc__db_base_read_info(svn_wc__db_status_t *status, - svn_node_kind_t *kind, - svn_revnum_t *revision, - const char **repos_relpath, - const char **repos_root_url, - const char **repos_uuid, - svn_revnum_t *changed_rev, - apr_time_t *changed_date, - const char **changed_author, - svn_depth_t *depth, - const svn_checksum_t **checksum, - const char **target, - const char **original_repos_relpath, - const char **original_root_url, - const char **original_uuid, - svn_revnum_t *original_revision, - svn_wc__db_lock_t **lock, - svn_filesize_t *recorded_size, - apr_time_t *recorded_time, - const char **changelist, - svn_boolean_t *conflicted, - svn_boolean_t *op_root, - svn_boolean_t *have_props, - svn_boolean_t *props_mod, - svn_boolean_t *have_base, - svn_boolean_t *have_more_work, - svn_boolean_t *have_work, - svn_wc__db_t *db, - const char *local_abspath, - apr_pool_t *result_pool, - apr_pool_t *scratch_pool) -{ - return svn_error_trace(read_info_with_txn( - status, kind, revision, - repos_relpath, repos_root_url, repos_uuid, - changed_rev, changed_date, changed_author, - depth, checksum, target, original_repos_relpath, - original_root_url, original_uuid, - original_revision, lock, - recorded_size, recorded_time, changelist, - conflicted, op_root, have_props, props_mod, - have_base, have_more_work, have_work, - db, local_abspath, TRUE /* base_tree_only */, - result_pool, scratch_pool)); + SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath)); + + SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db, + local_abspath, scratch_pool, scratch_pool)); + VERIFY_USABLE_WCROOT(wcroot); + + SVN_WC__DB_WITH_TXN4( + read_info(status, kind, revision, repos_relpath, &repos_id, + changed_rev, changed_date, changed_author, + depth, checksum, target, original_repos_relpath, + &original_repos_id, original_revision, lock, + recorded_size, recorded_time, changelist, conflicted, + op_root, have_props, props_mod, + have_base, have_more_work, have_work, + wcroot, local_relpath, FALSE /* base_tree_only */, + result_pool, scratch_pool), + svn_wc__db_fetch_repos_info(repos_root_url, repos_uuid, + wcroot->sdb, repos_id, result_pool), + svn_wc__db_fetch_repos_info(original_root_url, original_uuid, + wcroot->sdb, original_repos_id, + result_pool), + SVN_NO_ERROR, + wcroot); + + return SVN_NO_ERROR; } static svn_error_t * Modified: subversion/branches/remote-only-status/subversion/libsvn_wc/wc_db.h URL: http://svn.apache.org/viewvc/subversion/branches/remote-only-status/subversion/libsvn_wc/wc_db.h?rev=1586033&r1=1586032&r2=1586033&view=diff ============================================================================== --- subversion/branches/remote-only-status/subversion/libsvn_wc/wc_db.h (original) +++ subversion/branches/remote-only-status/subversion/libsvn_wc/wc_db.h Wed Apr 9 16:53:32 2014 @@ -1926,71 +1926,6 @@ svn_wc__db_read_info(svn_wc__db_status_t apr_pool_t *result_pool, apr_pool_t *scratch_pool); -/* Like svn_wc__db_read_info, but only retrieves information about the - BASE tree. The signature is the same so that these two functions - can be interchanged. */ -svn_error_t * -svn_wc__db_base_read_info(svn_wc__db_status_t *status, /* ### derived */ - svn_node_kind_t *kind, - svn_revnum_t *revision, - const char **repos_relpath, - const char **repos_root_url, - const char **repos_uuid, - svn_revnum_t *changed_rev, - apr_time_t *changed_date, - const char **changed_author, - svn_depth_t *depth, /* dirs only */ - const svn_checksum_t **checksum, /* files only */ - const char **target, /* symlinks only */ - - /* ### the following fields if copied/moved (history) */ - const char **original_repos_relpath, - const char **original_root_url, - const char **original_uuid, - svn_revnum_t *original_revision, - - /* For BASE nodes */ - svn_wc__db_lock_t **lock, - - /* Recorded for files present in the working copy */ - svn_filesize_t *recorded_size, - apr_time_t *recorded_time, - - /* From ACTUAL */ - const char **changelist, - svn_boolean_t *conflicted, - - /* ### the followed are derived fields */ - svn_boolean_t *op_root, - - svn_boolean_t *had_props, - svn_boolean_t *props_mod, - - svn_boolean_t *have_base, - svn_boolean_t *have_more_work, - svn_boolean_t *have_work, - - svn_wc__db_t *db, - const char *local_abspath, - apr_pool_t *result_pool, - apr_pool_t *scratch_pool); - -/* Typedef for the db(_base)_read_info prototype. Used in status.c to - declare a reference to either svn_wc__db_read_info or - svn_wc__db_base_read_info. */ -typedef svn_error_t *(*svn_wc__db_base_read_info_fn_t)( - svn_wc__db_status_t *, svn_node_kind_t *, svn_revnum_t *, - const char **, const char **, const char **, - svn_revnum_t *, apr_time_t *, const char **, - svn_depth_t *, const svn_checksum_t **, const char **, - const char **, const char **, const char **, svn_revnum_t *, - svn_wc__db_lock_t **, svn_filesize_t *, apr_time_t *, - const char **, svn_boolean_t *, svn_boolean_t *, - svn_boolean_t *, svn_boolean_t *, svn_boolean_t *, - svn_boolean_t *, svn_boolean_t *, svn_wc__db_t *, - const char *, apr_pool_t *, apr_pool_t *); - - /* Structure used as linked list in svn_wc__db_info_t to describe all nodes in this location that were moved to another location */ struct svn_wc__db_moved_to_info_t