You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2019/07/18 13:38:08 UTC
svn commit: r1863298 - in /subversion/branches/1.10.x: ./ STATUS
subversion/libsvn_repos/dump.c subversion/tests/cmdline/svnadmin_tests.py
Author: julianfoad
Date: Thu Jul 18 13:38:07 2019
New Revision: 1863298
URL: http://svn.apache.org/viewvc?rev=1863298&view=rev
Log:
Merge r1853483 from trunk:
* r1853483
Fix #4760 "Missing children when svnadmin dump --include/exclude converts
copy-dir to add-dir".
Justification:
The new feature was broken.
Votes:
+1: julianfoad, stsp
Modified:
subversion/branches/1.10.x/ (props changed)
subversion/branches/1.10.x/STATUS
subversion/branches/1.10.x/subversion/libsvn_repos/dump.c
subversion/branches/1.10.x/subversion/tests/cmdline/svnadmin_tests.py
Propchange: subversion/branches/1.10.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul 18 13:38:07 2019
@@ -103,4 +103,4 @@
/subversion/branches/verify-at-commit:1462039-1462408
/subversion/branches/verify-keep-going:1439280-1546110
/subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1817837,1817856,1818577-1818578,1818584,1818651,1818662,1818727,1818801,1818803,1818807,1818868,1818871,1819036-1819037,1819043,1819049,1819052,1819093,1819146,1819162,1819444,1819556-1819557,1819603,1819804,1819911,1820044,1820046-1820047,1820518,1820627,1820718,1820778,1821183,1821224,1821621,1821678,1822401,1822587,1822591,1822996,1823202-1823203,1823211,1823327,1823791,1823966,1823989,1824033,1825024,1825045,1825215,1825266,1825306,1825709,1825711,1825721,1825736,1825778,1825783,1825787-1825788,1825979,1826720-1826721,1826747,1826811,1826814,1826877,1826907,1826971,1827105,1827114,1827191,1827562,1827574,1827670,1828613,1829012,1829015,1829241,1829260,1829344,1830083,1830882-1830883,1830885,1830900-1830901,1831110,1831112,1831540,1833465,1833621,1833836,1833842,1833864,1833866,1833895,1833897,1833899,1833901,1835760,1836306,1836762,1836802,1836960,1836963,1836968,1836976,1837037,1837790,1838813,1839662,1839703,1839734,1839739,1840991,1842260,1842262,1842264,184
3888,1844882,1844987,1845204,1845212,1845261,1845408,1845555,1845577,1846299,1846403,1846406,1846704,1847181-1847182,1847188,1847264,1847572,1847596,1847598,1847697,1847922,1847924,1847946,1850348,1850621,1850651,1851676,1851687,1851791,1851920,1852013,1852436,1853450,1853761,1863262
+/subversion/trunk:1817837,1817856,1818577-1818578,1818584,1818651,1818662,1818727,1818801,1818803,1818807,1818868,1818871,1819036-1819037,1819043,1819049,1819052,1819093,1819146,1819162,1819444,1819556-1819557,1819603,1819804,1819911,1820044,1820046-1820047,1820518,1820627,1820718,1820778,1821183,1821224,1821621,1821678,1822401,1822587,1822591,1822996,1823202-1823203,1823211,1823327,1823791,1823966,1823989,1824033,1825024,1825045,1825215,1825266,1825306,1825709,1825711,1825721,1825736,1825778,1825783,1825787-1825788,1825979,1826720-1826721,1826747,1826811,1826814,1826877,1826907,1826971,1827105,1827114,1827191,1827562,1827574,1827670,1828613,1829012,1829015,1829241,1829260,1829344,1830083,1830882-1830883,1830885,1830900-1830901,1831110,1831112,1831540,1833465,1833621,1833836,1833842,1833864,1833866,1833895,1833897,1833899,1833901,1835760,1836306,1836762,1836802,1836960,1836963,1836968,1836976,1837037,1837790,1838813,1839662,1839703,1839734,1839739,1840991,1842260,1842262,1842264,184
3888,1844882,1844987,1845204,1845212,1845261,1845408,1845555,1845577,1846299,1846403,1846406,1846704,1847181-1847182,1847188,1847264,1847572,1847596,1847598,1847697,1847922,1847924,1847946,1850348,1850621,1850651,1851676,1851687,1851791,1851920,1852013,1852436,1853450,1853483,1853761,1863262
Modified: subversion/branches/1.10.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1863298&r1=1863297&r2=1863298&view=diff
==============================================================================
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Thu Jul 18 13:38:07 2019
@@ -21,14 +21,6 @@ Veto-blocked changes:
Approved changes:
=================
- * r1853483
- Fix #4760 "Missing children when svnadmin dump --include/exclude converts
- copy-dir to add-dir".
- Justification:
- The new feature was broken.
- Votes:
- +1: julianfoad, stsp
-
* r1854072, r1854074, r1854216
Fix issue #4806: Remove on-disk trees with read-only directories in them.
Justification:
Modified: subversion/branches/1.10.x/subversion/libsvn_repos/dump.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/subversion/libsvn_repos/dump.c?rev=1863298&r1=1863297&r2=1863298&view=diff
==============================================================================
--- subversion/branches/1.10.x/subversion/libsvn_repos/dump.c (original)
+++ subversion/branches/1.10.x/subversion/libsvn_repos/dump.c Thu Jul 18 13:38:07 2019
@@ -44,6 +44,7 @@
#include "private/svn_sorts_private.h"
#include "private/svn_utf_private.h"
#include "private/svn_cache.h"
+#include "private/svn_fspath.h"
#define ARE_VALID_COPY_ARGS(p,r) ((p) && SVN_IS_VALID_REVNUM(r))
@@ -1986,6 +1987,11 @@ dump_filter_authz_func(svn_boolean_t *al
{
dump_filter_baton_t *b = baton;
+ /* For some nodes (e.g. files under copied directory) PATH may be
+ * non-canonical (missing leading '/'). Canonicalize PATH before
+ * passing it to FILTER_FUNC. */
+ path = svn_fspath__canonicalize(path, pool);
+
return svn_error_trace(b->filter_func(allowed, root, path, b->filter_baton,
pool));
}
Modified: subversion/branches/1.10.x/subversion/tests/cmdline/svnadmin_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/subversion/tests/cmdline/svnadmin_tests.py?rev=1863298&r1=1863297&r2=1863298&view=diff
==============================================================================
--- subversion/branches/1.10.x/subversion/tests/cmdline/svnadmin_tests.py (original)
+++ subversion/branches/1.10.x/subversion/tests/cmdline/svnadmin_tests.py Thu Jul 18 13:38:07 2019
@@ -3900,6 +3900,51 @@ def recover_prunes_rep_cache_when_disabl
check_recover_prunes_rep_cache(sbox, enable_rep_sharing=False)
+@Issue(4760)
+def dump_include_copied_directory(sbox):
+ "include copied directory with nested nodes"
+
+ sbox.build(create_wc=False)
+
+ svntest.actions.run_and_verify_svn(svntest.verify.AnyOutput, [], "copy",
+ sbox.repo_url + '/A/D',
+ sbox.repo_url + '/COPY',
+ "-m", "Create branch.")
+
+ # Dump repository with only /COPY path included.
+ _, dump, _ = svntest.actions.run_and_verify_svnadmin(None, [],
+ 'dump', '-q',
+ '--include', '/COPY',
+ sbox.repo_dir)
+
+ # Load repository from dump.
+ sbox2 = sbox.clone_dependent()
+ sbox2.build(create_wc=False, empty=True)
+ load_and_verify_dumpstream(sbox2, None, [], None, False, dump)
+
+ # Check log.
+ expected_output = svntest.verify.RegexListOutput([
+ '-+\\n',
+ 'r2\ .*\n',
+ # Only '/COPY' is added
+ re.escape('Changed paths:\n'),
+ re.escape(' A /COPY'),
+ re.escape(' A /COPY/G'),
+ re.escape(' A /COPY/G/pi'),
+ re.escape(' A /COPY/G/rho'),
+ re.escape(' A /COPY/G/tau'),
+ re.escape(' A /COPY/H'),
+ re.escape(' A /COPY/H/chi'),
+ re.escape(' A /COPY/H/omega'),
+ re.escape(' A /COPY/H/psi'),
+ re.escape(' A /COPY/gamma'),
+ '-+\\n',
+ 'r1\ .*\n',
+ '-+\\n'
+ ])
+ svntest.actions.run_and_verify_svn(expected_output, [],
+ 'log', '-v', '-q', sbox2.repo_url)
+
########################################################################
# Run the tests
@@ -3976,6 +4021,7 @@ test_list = [ None,
load_issue4725,
recover_prunes_rep_cache_when_enabled,
recover_prunes_rep_cache_when_disabled,
+ dump_include_copied_directory,
]
if __name__ == '__main__':