[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit --targets behaviour change in 1.7?

From: Fergus Slorach <sugref_at_gmail.com>
Date: Sun, 13 Nov 2011 23:07:51 +1300

Hi Daniel,

Thanks for the quick response.

Here's the recipe - this works in 1.6 but fails with 1.7

All the best,

fergus

On 11/13/2011 07:03 PM, Daniel Shahaf wrote:
> On Sunday, November 13, 2011 1:31 PM, "Fergus Slorach"<sugref_at_gmail.com> wrote:
>>
>> For 'undelete' in svn, we do the following:
>>
>> > svn rm bic4
>>
>> > svn commit -m 'Test delete'
>> Deleting bic4/schematic
>>
>> Committed revision 6
>>
>> > svn merge --change -6 .
>> --- Reverse-merging r6 into '.':
>> A bic4
>> A bic4/schematic
>> A bic4/schematic/thumbnail_128x128.png
>> A bic4/schematic/master.tag
>> A bic4/schematic/data.dm
>> A bic4/schematic/sch.oa
>> --- Recording mergeinfo for reverse merge of r6 into '.':
>> U .
>> --- Eliding mergeinfo from '.':
>> U .
>>
>> (The last two messages are new in 1.7)
>>
>> create a targets file containing:
>>
>> bic4
>> bic4/schematic
>> bic4/schematic/thumbnail_128x128.png
>> bic4/schematic/master.tag
>> bic4/schematic/data.dm
>> bic4/schematic/sch.oa
>>
>> and commit the changes:
>>
>> > svn commit --targets=<file> -m 'Undelete bic4'
>>
>> This works in svn 1.6, but fails in svn 1.7 with the following message:
>>
>> svn: E200009: Commit failed (details follow):
>> svn: E200009: '<path>/bic4/schematic' is not under version control and is not part of the commit, yet its child '<path>/bic4/schematic/sch.oa' is part of the commit
>>
>> I can workaround this by changing the contents of the target file but this looks
>> like a bug, because 'bic4/schematic' is in the targets file.
>>
>> Thanks,
>>
>> fergus
>>
>
> I can't seem to reproduce this: I tried the patch below and running the
> tests against my system's 1.6.17 (with './commit_tests.py --bin
> /usr/bin'), but they pass. Could you please provide a complete
> reproduction recipe?
>
> That means either a patch to commit_tests.py, or a #!/bin/sh script that
> starts by creating an empty repository and committing to it. See
> http://subversion.apache.org/docs/community-guide/repro-template.sh
>
> Thanks!
>
> Daniel
>
> [[[
> Index: subversion/tests/cmdline/commit_tests.py
> ===================================================================
> --- subversion/tests/cmdline/commit_tests.py (revision 1201404)
> +++ subversion/tests/cmdline/commit_tests.py (working copy)
> @@ -2826,6 +2826,28 @@ def commit_incomplete(sbox):
> wc_dir)
>
>
> +#----------------------------------------------------------------------
> +def commit_add_subadd(sbox):
> + "commit add and its child"
> +
> + sbox.build()
> + wc_dir = sbox.wc_dir
> +
> + wcroot = sbox.ospath('')
> +
> + sbox.simple_rm('A')
> + sbox.simple_commit(message='rm') # r2
> +
> + # must be below sbox.simple_*()
> + os.chdir(wc_dir)
> +
> + svntest.main.run_svn(None, 'up')
> + svntest.main.run_svn(None, 'merge', '-c', '-2', '.')
> + open('targets', 'w').write('\n'.join(map(lambda x: x[len(wcroot)+1:],
> + svntest.main.greek_state.desc.keys())
> + ))
> + svntest.main.run_svn(None, 'commit', '-mm', '--targets=./targets')
> +
> ########################################################################
> # Run the tests
>
> @@ -2894,6 +2916,7 @@ test_list = [ None,
> tree_conflicts_resolved,
> commit_multiple_nested_deletes,
> commit_incomplete,
> + commit_add_subadd,
> ]
>
> if __name__ == '__main__':
> ]]]
>

Received on 2011-11-13 11:08:37 CET

This is an archived mail posted to the Subversion Dev mailing list.