Hi Paul,
On 5/24/07, pburba@tigris.org <pburba@tigris.org> wrote:
> Author: pburba
> Date: Thu May 24 09:21:18 2007
> New Revision: 25134
>
> Log:
> Enable merge info inheritance from nearest ancestor path in the repository.
>
>
Hi Paul,
Sorry for the late follow up, but here goes:
Here is a test in the Ruby bindings that is failing since this commit (there
is another failure that is very similar)(I hope the Ruby is clear enough to
follow):
============
def test_merge
log = "sample log"
file = "sample.txt"
src = "sample\n"
trunk = File.join(@wc_path, "trunk")
branch = File.join(@wc_path, "branch")
trunk_path = File.join(trunk, file)
branch_path = File.join(branch, file)
ctx = make_context(log)
ctx.mkdir(trunk, branch)
File.open(trunk_path, "w") {}
File.open(branch_path, "w") {}
ctx.add(trunk_path)
ctx.add(branch_path)
rev1 = ctx.commit(@wc_path).revision
File.open(branch_path, "w") {|f| f.print(src)}
rev2 = ctx.commit(@wc_path).revision
assert_nil(ctx.merge_info(trunk))
ctx.merge(branch, rev1, branch, rev2, trunk)
merge_info = ctx.merge_info(trunk)
assert_equal(["/branch"], merge_info.keys)
assert_equal([[2, 2]], merge_info["/branch"].collect {|range| range.to_a})
rev3 = ctx.commit(@wc_path).revision
assert_equal(normalize_line_break(src), ctx.cat(trunk_path, rev3))
ctx.rm(branch_path)
rev4 = ctx.commit(@wc_path).revision
ctx.merge(branch, rev3, branch, rev4, trunk)
assert(!File.exist?(trunk_path))
merge_info = ctx.merge_info(trunk, rev4)
assert_equal(["/branch"], merge_info.keys)
assert_equal([[2, 2], [4, 4]],
merge_info["/branch"].collect {|range| range.to_a })
ctx.propdel("svn:mergeinfo", trunk)
merge_info = ctx.merge_info(trunk)
assert_equal(["/branch"], merge_info.keys)
assert_equal([[2, 2]], merge_info["/branch"].collect {|range| range.to_a})
ctx.revert(trunk_path)
File.open(trunk_path, "a") {|f| f.print(src)}
ctx.merge(branch, rev3, branch, rev4, trunk)
assert(File.exist?(trunk_path))
rev5 = ctx.commit(@wc_path).revision
File.open(trunk_path, "a") {|f| f.print(src)}
ctx.merge(branch, rev3, branch, rev4, trunk, true, false, true, true)
assert(File.exist?(trunk_path))
ctx.merge(branch, rev3, branch, rev4, trunk, true, false, true)
rev6 = ctx.commit(@wc_path).revision
assert(!File.exist?(trunk_path))
end
============
The test fails on the
rev6 = ctx.commit(@wc_path).revision
line with the following
============
1) Error:
test_merge(SvnClientTest):
Svn::Error::FsTxnOutOfDate:
D:\SVN\src-trunk\subversion\libsvn_client\commit.c:871 Commit failed
(details follow):
Out of date: '/trunk' in transaction '5-1'
D:/SVN/src-trunk/subversion/bindings/swig/ruby/svn/util.rb:86:in
`svn_client_commit4'
D:/SVN/src-trunk/subversion/bindings/swig/ruby/svn/util.rb:86:in `commit4'
D:/SVN/src-trunk/subversion/bindings/swig/ruby/svn/client.rb:122:in `commit'
D:/SVN/src-trunk/subversion/bindings/swig/ruby/test\test_client.rb:875:in
`test_merge'
============
This test passed until r25068 when svn_client_get_mergeinfo started
returning NULL, I patched for that and the tests passed again until
r25134.
So, is this an incorrect test, or should this test be reproduced in
the C or Python
testcases?
--
Joe Swatosh
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jun 25 18:08:17 2007