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

[Patch] ruby binding test fix and mergeinfo question

From: Joe Swatosh <joe.swatosh_at_gmail.com>
Date: Fri, 15 Aug 2008 12:46:13 -0700

Hi,

Sorry I haven't been able to be more active the last couple of months. In any
case, I'm not completely sure what to do with this.

r31874 made the Ruby bindings tests start to error with access violations that
continued until r32065 at which time the same tests were just failing. So I
applied the changes from r32065 to a check out of r31874 and all the tests
where passing. So I started forward in time again until r31900 when the Ruby
bindings tests started failing again. Applying the patch below causes these
tests to start passing again. (Most of this is with kou's patch that expects
absolute paths instead of relative paths).

So all of that is fine. It took a lot longer to figure out than to describe.
What I'm finding particularly puzzling is the fact that r31900 has been
applied to the 1.5 branch, but the Ruby bindings tests are still passing
there.

Oh yeah, what happens in the test in question is that the merge doesn't cause
any file content changes. Before r31900 it didn't cause any property changes
either. But after r31900 it causes changes in the svn:mergeinfo property. The
tests used to assert that there were no changes, but with the patch below,
they assert no file content changes, but that there has been a property
change.

So which is the correct behaviour? Trunk or 1.5 branch? Or is each right for
where it is?

Thanks,

Joe Swatosh

[[[

Follow on to r31900 "Fix issue #3067, 'subtrees that don't exist at the start
or end of a merge range shouldn't break the merge'"

Even though the merge in the test doesn't modify the file contents, after
r31900 it does modify the svn:mergeinfo property. So update the assertions to
reflect that.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#assert_merge): Update assertions.

]]]

Index: subversion/bindings/swig/ruby/test/test_client.rb
===================================================================
--- subversion/bindings/swig/ruby/test/test_client.rb (revision 32466)
+++ subversion/bindings/swig/ruby/test/test_client.rb (working copy)
@@ -990,9 +990,14 @@
     assert(File.exist?(trunk_path))

     yield(ctx, branch, rev3, rev4, trunk, nil, false, true)
- assert_not_changed(ctx, trunk)
+ statuses = []
+ ctx.status(trunk) do |_, status|
+ statuses << status
+ end
+ assert_equal(1, statuses.size, "Only one entry should have changed")
+ assert_equal(Svn::Wc::STATUS_NORMAL, statuses.first.text_status,
"No changes to file content expected")
+ assert_equal(Svn::Wc::STATUS_MODIFIED,
statuses.first.prop_status, "merge info changes")

-
     ctx.propdel("svn:mergeinfo", trunk)
     rev6 = ctx.commit(@wc_path).revision

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-08-15 21:46:29 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.