Paul Burba wrote on Mon, Nov 22, 2010 at 11:13:09 -0500: > On Fri, Nov 19, 2010 at 9:39 PM, Daniel Shahaf <d...@daniel.shahaf.name> > wrote: > > pbu...@apache.org wrote on Fri, Nov 19, 2010 at 18:51:45 -0000: > >> Author: pburba > >> Date: Fri Nov 19 18:51:44 2010 > >> New Revision: 1036978 > >> > >> URL: http://svn.apache.org/viewvc?rev=1036978&view=rev > >> Log: > >> Cover a new failure use case in the svnsync test for issue #3641 'svnsync > >> fails to partially copy a repository'. > >> > >> * subversion/tests/cmdline/svnsync_tests_data/descend_into_replace.dump: > >> Add a 4th revision with a replacement without history inside of a copy. > >> > >> * subversion/tests/cmdline/svnsync_tests.py: > >> (commit_a_copy_of_root): Add some comments. > >> (test_list): Set commit_a_copy_of_root as XFail. > >> > >> Modified: > >> subversion/trunk/subversion/tests/cmdline/svnsync_tests.py > >> > >> subversion/trunk/subversion/tests/cmdline/svnsync_tests_data/descend_into_replace.dump > >> > >> Modified: subversion/trunk/subversion/tests/cmdline/svnsync_tests.py > >> URL: > >> http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnsync_tests.py?rev=1036978&r1=1036977&r2=1036978&view=diff > >> ============================================================================== > >> --- subversion/trunk/subversion/tests/cmdline/svnsync_tests.py (original) > >> +++ subversion/trunk/subversion/tests/cmdline/svnsync_tests.py Fri Nov 19 > >> 18:51:44 2010 > >> @@ -791,7 +791,44 @@ def commit_a_copy_of_root(sbox): > >> #Testcase for issue 3438. > >> run_test(sbox, "repo_with_copy_of_root_dir.dump") > >> > >> -# issue #3641 > >> +# issue #3641 'svnsync fails to partially copy a repository'. > >> +# This currently fails because while replacements with history > >> +# within copies are handled, replacements without history inside > >> +# copies cause the sync to fail: > >> +# > >> +# >svnsync synchronize %TEST_REPOS_ROOT_URL%/svnsync_tests-29-1 > >> +# %TEST_REPOS_ROOT_URL%/svnsync_tests-29/trunk/H > >> +# Transmitting file data ...\..\..\subversion\svnsync\main.c:1444: > >> (apr_err=160013) > >> +# ..\..\..\subversion\svnsync\main.c:1391: (apr_err=160013) > >> +# ..\..\..\subversion\libsvn_ra\ra_loader.c:1168: (apr_err=160013) > >> +# ..\..\..\subversion\libsvn_delta\path_driver.c:254: (apr_err=160013) > >> +# ..\..\..\subversion\libsvn_repos\replay.c:480: (apr_err=160013) > >> +# ..\..\..\subversion\libsvn_repos\replay.c:276: (apr_err=160013) > >> +# ..\..\..\subversion\libsvn_repos\replay.c:290: (apr_err=160013) > >> +# ..\..\..\subversion\libsvn_fs_base\tree.c:1258: (apr_err=160013) > >> +# ..\..\..\subversion\libsvn_fs_base\tree.c:1258: (apr_err=160013) > >> +# ..\..\..\subversion\libsvn_fs_base\tree.c:1236: (apr_err=160013) > >> +# ..\..\..\subversion\libsvn_fs_base\tree.c:931: (apr_err=160013) > >> +# ..\..\..\subversion\libsvn_fs_base\tree.c:742: (apr_err=160013) > >> +# svnsync: File not found: revision 4, path '/trunk/H/Z/B/lambda' > >> +# > >> +# See also http://svn.haxx.se/dev/archive-2010-11/0411.shtml and > >> +# > >> +### TODO: Once the above failure is fixed, delete-revprops.expected.dump > >> +### needs to be updated for this test to PASS! > > > > descend_into_replace.expected.dump? > > > > Couldn't we update it now --- by manually running whatever svnmucc > > command creates the r4 we expect svnsync to create? > > Hi Daniel, > > I'm probably missing something here, but I'm not sure how we could use > svnmucc to do this. In the test, the sync source is %URL%/trunk/H, > but r4 in the source repository includes copies from outside of > /trunk/H: > > r4 | pburba | 2010-11-19 12:10:31 -0500 (Fri, 19 Nov 2010) | 1 line > Changed paths: > A /trunk/H/Z (from /trunk/A:3) > R /trunk/H/Z/B > > What svnmucc command would we use to create r4 in the destination > repository? Because the copy sources in r3:4 in the source directory > are outside of the synced subtree on the target, the changes in r3:4 > in the target have no copy history on the target, but are simply > additions.
Agreed. > I suppose we could use a whole slew of svnmucc puts and > mkdirs to do it, but it's probably easier to simply commit this change > to the destination repository: > > svn export %SVNSYNC_29_ROOT_URL%/trunk/H/Z svnsync_tests-29-1-WC\trunk\H\Z > I didn't mean to imply that svnmucc was the only way to make the change; sorry if that wasn't clear. > ...and that's what I did to create the new > descend_into_replace.expected.dump in > http://svn.apache.org/viewvc?view=revision&revision=1037762 > > If that doesn't strike you as correct let me know. > r1037762 looks good to me. > Paul Thanks, Daniel