Le 30 décembre 2011 23:30, Daniel Shahaf <d...@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!