You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Hyrum K Wright <hy...@wandisco.com> on 2011/10/06 03:20:11 UTC

Re: svn commit: r1179430 - /subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java

This is the result of svn_client_status_t.repos_root_url not being
filled in unconditionally.  That value is taken from svn_wc_status3_t,
which is in turn pulled from a svn_wc__db_info_t, conditionally
populated in subversion/libsvn_wc/status.c:get_repos_root_url_relpath().
 In this particular case, I'm not sure what is happening to cause
those values to come back as NULL.

Would it be possible to write this as a C test?  Trying to run it
through the debugger is a bit more complicated in Java than it would
be with a straight C API test.

-Hyrum

On Wed, Oct 5, 2011 at 5:43 PM,  <ma...@apache.org> wrote:
> Author: markphip
> Date: Wed Oct  5 20:43:13 2011
> New Revision: 1179430
>
> URL: http://svn.apache.org/viewvc?rev=1179430&view=rev
> Log:
> JavaHL: Show a bug in current code by expanding test suite to
> assert that the URL for incoming status items is not null. The
> bug I see is that when you run equivalent of svn st -u the
> status callback for items that are new in the repository have
> a null for the URL.
>
> [ subversion/bindings/javahl/ ]
> * tests/org/apache/subversion/javahl/WC.java
>  (check): Assert that URL is not null for incoming status items.
>
>
> Modified:
>    subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java
>
> Modified: subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java
> URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java?rev=1179430&r1=1179429&r2=1179430&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java (original)
> +++ subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java Wed Oct  5 20:43:13 2011
> @@ -519,6 +519,8 @@ public class WC
>                                         + item.myPath + "' don't match:",
>                                         item.reposLastCmtAuthor,
>                                         status.getReposLastCmtAuthor());
> +                    Assert.assertNotNull("URL for status item should not be null",
> +                                        status.getUrl());
>                 }
>             }
>             item.touched = true;
>
>
>



-- 

uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com/

Re: svn commit: r1179430 - /subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/WC.java

Posted by Philip Martin <ph...@wandisco.com>.
Hyrum K Wright <hy...@wandisco.com> writes:
> On Wed, Oct 5, 2011 at 5:43 PM,  <ma...@apache.org> wrote:
>> Author: markphip
>> Date: Wed Oct  5 20:43:13 2011
>> New Revision: 1179430
>>
>> URL: http://svn.apache.org/viewvc?rev=1179430&view=rev
>> Log:
>> JavaHL: Show a bug in current code by expanding test suite to
>> assert that the URL for incoming status items is not null. The
>> bug I see is that when you run equivalent of svn st -u the
>> status callback for items that are new in the repository have
>> a null for the URL.
>>
>> [ subversion/bindings/javahl/ ]
>> * tests/org/apache/subversion/javahl/WC.java
>>  (check): Assert that URL is not null for incoming status items.

> This is the result of svn_client_status_t.repos_root_url not being
> filled in unconditionally.  That value is taken from svn_wc_status3_t,
> which is in turn pulled from a svn_wc__db_info_t, conditionally
> populated in subversion/libsvn_wc/status.c:get_repos_root_url_relpath().
>  In this particular case, I'm not sure what is happening to cause
> those values to come back as NULL.
>
> Would it be possible to write this as a C test?  Trying to run it
> through the debugger is a bit more complicated in Java than it would
> be with a straight C API test.

I've traced the problem to this commit:

  r953751 | rhuijben | 2010-06-11 17:13:09 +0100 (Fri, 11 Jun 2010) | 32 lines

  Remove the full url calculations from the status walker. We prefer to
  use repos_root_url and repos_relpath instead in libsvn_wc.

It removed the url member from the file_baton in libsvn_wc/status.c and
stopped setting the url it in tweak_statushash.


-- 
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com