From commits-return-49852-archive-asf-public=cust-asf.ponee.io@subversion.apache.org Tue Nov 13 05:00:19 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id C2D7C180660 for ; Tue, 13 Nov 2018 05:00:18 +0100 (CET) Received: (qmail 33928 invoked by uid 500); 13 Nov 2018 04:00:17 -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 33918 invoked by uid 99); 13 Nov 2018 04:00:17 -0000 Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Nov 2018 04:00:17 +0000 Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 22C703A006D for ; Tue, 13 Nov 2018 04:00:17 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1846480 - in /subversion/branches/1.11.x: ./ STATUS subversion/libsvn_client/copy.c subversion/tests/cmdline/copy_tests.py Date: Tue, 13 Nov 2018 04:00:17 -0000 To: commits@subversion.apache.org From: svn-role@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20181113040017.22C703A006D@svn01-us-west.apache.org> Author: svn-role Date: Tue Nov 13 04:00:16 2018 New Revision: 1846480 URL: http://svn.apache.org/viewvc?rev=1846480&view=rev Log: Merge the r1846403 group from trunk: * r1846403, r1846406 Issue #SVN-4785: Fix foreign repo copy with peg/operative revisions. Justification: It has been broken since first introduced in 1.8. Votes: +1: julianfoad, brane, rhuijben Modified: subversion/branches/1.11.x/ (props changed) subversion/branches/1.11.x/STATUS subversion/branches/1.11.x/subversion/libsvn_client/copy.c subversion/branches/1.11.x/subversion/tests/cmdline/copy_tests.py Propchange: subversion/branches/1.11.x/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Nov 13 04:00:16 2018 @@ -100,4 +100,4 @@ /subversion/branches/verify-at-commit:1462039-1462408 /subversion/branches/verify-keep-going:1439280-1546110 /subversion/branches/wc-collate-path:1402685-1480384 -/subversion/trunk:1840990-1840991,1840995,1840997,1841059,1841079,1841091,1841098,1841136,1841180,1841272,1841481,1841524-1841525,1841567,1841600-1841602,1841606,1841719,1841725,1841731,1841736,1841742-1841743,1841753-1841754,1841822,1841850,1841867,1842090,1842222-1842223,1842334,1842814,1842827,1842829,1842877,1843888,1844882,1845204,1845261,1845408,1845555-1845556,1845559,1845577 +/subversion/trunk:1840990-1840991,1840995,1840997,1841059,1841079,1841091,1841098,1841136,1841180,1841272,1841481,1841524-1841525,1841567,1841600-1841602,1841606,1841719,1841725,1841731,1841736,1841742-1841743,1841753-1841754,1841822,1841850,1841867,1842090,1842222-1842223,1842334,1842814,1842827,1842829,1842877,1843888,1844882,1845204,1845261,1845408,1845555-1845556,1845559,1845577,1846403,1846406 Modified: subversion/branches/1.11.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.11.x/STATUS?rev=1846480&r1=1846479&r2=1846480&view=diff ============================================================================== --- subversion/branches/1.11.x/STATUS (original) +++ subversion/branches/1.11.x/STATUS Tue Nov 13 04:00:16 2018 @@ -34,10 +34,3 @@ Veto-blocked changes: Approved changes: ================= - - * r1846403, r1846406 - Issue #SVN-4785: Fix foreign repo copy with peg/operative revisions. - Justification: - It has been broken since first introduced in 1.8. - Votes: - +1: julianfoad, brane, rhuijben Modified: subversion/branches/1.11.x/subversion/libsvn_client/copy.c URL: http://svn.apache.org/viewvc/subversion/branches/1.11.x/subversion/libsvn_client/copy.c?rev=1846480&r1=1846479&r2=1846480&view=diff ============================================================================== --- subversion/branches/1.11.x/subversion/libsvn_client/copy.c (original) +++ subversion/branches/1.11.x/subversion/libsvn_client/copy.c Tue Nov 13 04:00:16 2018 @@ -2453,7 +2453,7 @@ repos_to_wc_copy_single(svn_boolean_t *t { *timestamp_sleep = TRUE; - SVN_ERR(svn_client__copy_foreign(pair->src_abspath_or_url, + SVN_ERR(svn_client__copy_foreign(pair->src_original, dst_abspath, &pair->src_peg_revision, &pair->src_op_revision, Modified: subversion/branches/1.11.x/subversion/tests/cmdline/copy_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/1.11.x/subversion/tests/cmdline/copy_tests.py?rev=1846480&r1=1846479&r2=1846480&view=diff ============================================================================== --- subversion/branches/1.11.x/subversion/tests/cmdline/copy_tests.py (original) +++ subversion/branches/1.11.x/subversion/tests/cmdline/copy_tests.py Tue Nov 13 04:00:16 2018 @@ -1021,6 +1021,56 @@ def repos_to_wc(sbox): os.path.join(D_dir, 'B')) #---------------------------------------------------------------------- +def foreign_repos_to_wc(sbox): + "foreign repository to WC copy" + + sbox.build() + wc_dir = sbox.wc_dir + + def move_url(repo_url, source, dest): + svntest.main.run_svn(False, 'move', '-m', svntest.main.make_log_msg(), + repo_url + '/' + source, + repo_url + '/' + dest) + + # We have a standard repository and working copy. Now we create a + # second repository with the same greek tree, but different UUID. + repo_dir = sbox.repo_dir + other_repo_dir, other_repo_url = sbox.add_repo_path('other') + svntest.main.copy_repos(repo_dir, other_repo_dir, 1, 1) + move_url(other_repo_url, 'A', 'A2') + move_url(other_repo_url, 'A2', 'A3') + + # URL->wc copy: + # copy a file and a directory from a foreign repository. + # we should get some scheduled additions *without history*. + E_url = other_repo_url + "/A2/B/E" + pi_url = other_repo_url + "/A2/D/G/pi" + peg_rev = '2' + op_rev = '1' + E_url_resolved = E_url.replace('/A2/', '/A/') + pi_url_resolved = pi_url.replace('/A2/', '/A/') + + expected_output = svntest.verify.UnorderedOutput([ + '--- Copying from foreign repository URL \'%s\':\n' % E_url_resolved, + 'A %s\n' % sbox.ospath('E'), + 'A %s\n' % sbox.ospath('E/beta'), + 'A %s\n' % sbox.ospath('E/alpha'), + ]) + svntest.actions.run_and_verify_svn(expected_output, [], + 'copy', '-r' + op_rev, + E_url + '@' + peg_rev, + wc_dir) + + expected_output = [ + '--- Copying from foreign repository URL \'%s\':\n' % pi_url_resolved, + 'A %s\n' % sbox.ospath('pi'), + ] + svntest.actions.run_and_verify_svn(expected_output, [], + 'copy', '-r' + op_rev, + pi_url + '@' + peg_rev, + wc_dir) + +#---------------------------------------------------------------------- # Issue 1084: ra_svn move/copy bug @Issue(1084) def copy_to_root(sbox): @@ -6044,6 +6094,7 @@ test_list = [ None, ext_wc_copy_deleted, copy_subtree_deleted, resurrect_at_root, + foreign_repos_to_wc, ] if __name__ == '__main__':