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

Re: [math] Strange svn conflict

From: Sébastien Brisard <celestin_at_apache.org>
Date: Sat, 31 Dec 2011 05:36:15 +0100

Le 30 décembre 2011 23:30, Daniel Shahaf <d.s_at_daniel.shahaf.name> a écrit :
> Sébastien Brisard wrote on Fri, Dec 30, 2011 at 16:24:38 +0100:
>> Hi,
>> sorry for the delay. I have carried out a few more experiments (see below).
>> Sébastien
>>
>> >> >> Should I move to svn 1.7 ?
>> >> >>
>> >> >
>> >> > You could try moving to 1.7, and/or using the official JavaHL bindings
>> >> > instead of the third-party SVNKit implementation.  With my svn hat on,
>> >> > though, I'd like to figure out how those revisions with bogus 'log -qv'
>> >> > output were created, and if you have the time to provide a self-contained
>> >> > reproduction recipe (starting with 'svnadmin create', and svn and/or
>> >> > eclipse) we'd appreciate it.
>> >> >
>> >> I'll try my best to do that.
>> >>
>> >
>> > Thanks.
>> >
>> I'm very willing to try, but I'm not sure I really understand (please
>> excuse my very shallow knowledge of SVN...).
>>
>
> See https://subversion.apache.org/docs/community-guide/repro-template.sh
>
>> >
>> > Can you isolate the following factors:
>> >
>> > - Size of the patch.  Can you commit a smaller patch --- that touches
>> >  all the same files your patch does?  A smaller patch that touches
>> >  other files?
>> >
>>
>> As I'm not sure this mailing list allow for attachment, I've
>> copied/pasted a very small patch which does demonstrate the bug (at
>> least, on my computer).
>>
>>
>> *****BEGIN PATCH*****
>> --- src/main/java/org/apache/commons/math/distribution/BinomialDistribution.jav(revision
>> 1225833)
> ... snip one-line patch ...
>> *****END PATCH*****
>>
>> I've tried to commit this patch
>> 1. with eclipse + JavaHL client, this raises the same error as before
>>
>> *****BEGIN ERROR-MESSAGE*****
>> svn: Commit failed (details follow):
>> svn: File or directory 'BinomialDistribution.java' is out of date; try updating
>> svn: resource out of date; try updating
>> *****END ERROR-MESSAGE*****
>>
>> 2. with eclipse + SVNKit client: same story
>> 3. with command-line svn: same story
>>
>
> OK
>
>> >
>> > - Client.  Can you reproduce the errors using (a) eclipse with SVNKit,
>> >  (b) eclipse with Subversion's official JavaHL bindings, (c) the
>> >  cmdline client?
>> >
>> See above. Just curious: how do you force JavaHL or SVNKit client with
>> cmdline? Is this a silly question?
>>
>
> It's silly :P.  SVNKit is a third-party full Java implementation; the
> JavaHL libraries and the cmdline client are both thin wrappers around
> the C libraries.
>
>> >
>> > - Server.  Does the error reproduce if you check out your working copy
>> >  from svn-master.apache.org?  (If you literally check out from
>> >  https://svn-master.apache.org/repos/asf/... you'll get SSL warnings;
>> >  you can either bypass them or set
>> >  # 140.211.11.4        svn.apache.org
>> >  in your /etc/hosts file)
>> >
>> Just for the record, the above tests were carried out with the
>> repository https://svn.apache.org/repos/asf/commons/proper/math/trunk.
>> As I'm in Europe, I suppose the EU mirror was used (is there a way to
>> check?).
>
> What IP does svn.apache.org resolve to for you?
>
> % host svn.eu.apache.org
> svn.eu.apache.org has address 192.87.106.227
> svn.eu.apache.org has IPv6 address 2001:610:1:80bc:192:87:106:227
> % host svn.us.apache.org
> svn.us.apache.org has address 140.211.11.4
> % host svn-master.apache.org
> svn-master.apache.org has address 140.211.11.4
>
Here is what I get
$ host svn.apache.org
svn.apache.org is an alias for svn.geo.apache.org.
svn.geo.apache.org has address 192.87.106.227

>> I've tried to commit the same patch to svn-master. For some
>> reasons, I get many error messages with subclipse. For lack of time, I
>> therefore only tested the command-line client. It WORKED!!! See rev
>> 1225839, and 1225841.
>>
>
> The diff seems to be identical between the two mirrors:
>
> % for i in eris harmonia; do svn diff http://$i.apache.org/repos/asf/commons -c 1225839 | sha1sum ; done
> 3730c3ef8fdd6778da568339d90ea7a99b55e886  -
> 3730c3ef8fdd6778da568339d90ea7a99b55e886  -
>
>> As previously mentioned, Gilles already encountered the same
>> difficulty, and the problem was only solved when Phil managed to
>> successfully commit a dummy patch to the incriminated file. So now
>> that the patch was accepted, I tried to commit to
>> https://svn.apache.org/repos/asf/commons/proper/math/trunk the
>> following patch
>>
>> *****BEGIN PATCH*****
>> --- src/main/java/org/apache/commons/math/distribution/BinomialDistribution.java      (revision
>> 1225842)
> ... snip one-line patch ...
>> *****END PATCH*****
>>
>> It WORKED !!!
>>
>> - r1225843 used subclipse + JavaHL,
>> - r1225844 used subclipse + SVNKit.
>>
>
> So, to summarize: you failed to commit a one-line change to
> BinomialDistribution via the US master regardless of what client you
> used, was able to commit it via the EU mirror with the cmdline client
> (but haven't tested with subclipse), and subsequently to the successful
> commit you could commit another trivial change to the same file with
> both eclipse/JavaHL and eclipse/SVNKit.
>
No, that's not exactly what happened. I failed to commit a one-line
change to BinomialDistribution via eiher US or EU mirror regardless of
what svn client I used. I was able to commit this change via the
svn-master server with the cmdline client. I could then commit another
trivial change to the same file, on any mirror, with any client.

>
> I'm a bit confused as to which combinations exactly do/don't work here,
> but I would guess that the differing 'Last Changed Revision' values
> between the two mirrors cause spurious out-of-date errors.  I don't know
> if you checked out fresh working copies from each mirror, but if you
> didn't then it may have contributed to the confusion/disagreements.
>
For the sake of our tests, I did check out fresh working copies.

>
> The fix would be, then, firstly to avoid creating a disparity in the
> changes ('log -qv' and 'svn info | grep "^Last Changed Revision"')
> between the two mirrors --- preferably by preventing null-changes from
> being created in revisions on the master[1], alternatively by faithfully
> reproducing them --- and secondly, to see what can be done about
> "existing in the wild" instances of this bug.
>
Please note that the null-changes you're referring to were committed
by myself, to svn.apache.org, therefore svn.geo.apache.org, *not*
svn-master.

>
> I've filed issue #4090 to track this:
> http://subversion.tigris.org/issues/show_bug.cgi?id=4090
>
> [1] which is where the reproduction recipe requested above comes in
>
>> Does all that help?
>
> Yes, it does; thanks a lot.  So far I identify at least one concrete
> bug; if there are further problems here, we'll open further issues as
> needed.
>
>> Can I try and commit the longer patch that
>> initially was the cause of this thread, or should I wait for you to
>> explore in more detail this issue?
>>
>
> No, go ahead and commit it please.  You should be able to do so to
> one of the two mirrors.
>
>> Best regards, thanks again for your help!
>> Sébastien
>
> Cheers, happy new year,
>
> Daniel
>
Happy new Year to you too, and thanks again for your help!
Received on 2011-12-31 05:40:57 CET

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

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