You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Daniel Shahaf <d....@daniel.shahaf.name> on 2010/11/20 02:39:37 UTC

Re: svn commit: r1036978 - in /subversion/trunk/subversion/tests/cmdline: svnsync_tests.py svnsync_tests_data/descend_into_replace.dump

pburba@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?

> +#
> +# Note: For those who may poke around this test in the future, r3 of
> +# delete-revprops.dump was created with the following svnmucc command:
> +#
> +# svnmucc.exe -mm cp head %ROOT_URL%-1/trunk/A %ROOT_URL%-1/trunk/H
> +#                 rm %ROOT_URL%-1/trunk/H/B
> +#                 cp head %ROOT_URL%-1/trunk/X %ROOT_URL%-1/trunk/B
> +#
> +# r4 was created with this svnmucc command:
> +#
> +# svnmucc.exe -mm cp head %ROOT_URL%-1/trunk/A %ROOT_URL%-1/trunk/H/Z
> +#                 rm %ROOT_URL%-1/trunk/H/Z/B
> +#                 mkdir %ROOT_URL%-1/trunk/H/Z/B
>  def descend_into_replace(sbox):
>    "descending into replaced dir looks in src"
>    run_test(sbox, "descend_into_replace.dump", subdir='/trunk/H',
> @@ -867,7 +904,7 @@ test_list = [ None,
>                copy_bad_line_endings,
>                delete_svn_props,
>                commit_a_copy_of_root,
> -              descend_into_replace,
> +              XFail(descend_into_replace),
>                delete_revprops,
>               ]
>  serial_only = True
> 
> Modified: subversion/trunk/subversion/tests/cmdline/svnsync_tests_data/descend_into_replace.dump
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnsync_tests_data/descend_into_replace.dump?rev=1036978&r1=1036977&r2=1036978&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/tests/cmdline/svnsync_tests_data/descend_into_replace.dump (original)
> +++ subversion/trunk/subversion/tests/cmdline/svnsync_tests_data/descend_into_replace.dump Fri Nov 19 18:51:44 2010
> @@ -350,3 +350,37 @@ Node-copyfrom-path: trunk/X
>  
>  
>  
> +Revision-number: 4
> +Prop-content-length: 101
> +Content-length: 101
> +
> +K 10
> +svn:author
> +V 6
> +pburba
> +K 8
> +svn:date
> +V 27
> +2010-11-19T17:10:31.620281Z
> +K 7
> +svn:log
> +V 1
> +m
> +PROPS-END
> +
> +Node-path: trunk/H/Z
> +Node-kind: dir
> +Node-action: add
> +Node-copyfrom-rev: 3
> +Node-copyfrom-path: trunk/A
> +
> +
> +Node-path: trunk/H/Z/B
> +Node-kind: dir
> +Node-action: replace
> +Prop-content-length: 10
> +Content-length: 10
> +
> +PROPS-END
> +
> +
> 
> 

Re: svn commit: r1036978 - in /subversion/trunk/subversion/tests/cmdline: svnsync_tests.py svnsync_tests_data/descend_into_replace.dump

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
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:
> > pburba@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

Re: svn commit: r1036978 - in /subversion/trunk/subversion/tests/cmdline: svnsync_tests.py svnsync_tests_data/descend_into_replace.dump

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
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:
> > pburba@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


Re: svn commit: r1036978 - in /subversion/trunk/subversion/tests/cmdline: svnsync_tests.py svnsync_tests_data/descend_into_replace.dump

Posted by Paul Burba <pt...@gmail.com>.
On Fri, Nov 19, 2010 at 9:39 PM, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
> pburba@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.  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

...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.

Paul