[ CC += users@svn; context for them: 'svn commit' error report, and discovery that 'log -qv r1210359' differs between svn.eu.a.o and svn.us.a.o; it appears that only 'log -qv' is wrong (false positives) but the file contents/props are fine ]
Sébastien Brisard wrote on Sat, Dec 24, 2011 at 17:37:02 +0100: > > > > You're right, that shouldn't be the case. Something appears to be very > > wrong: > > > > eris,1:svn/asf% svnlook changed -r 1210359 $PWD > > U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractRealDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/BetaDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/BinomialDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/CauchyDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ChiSquaredDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ExponentialDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/FDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/GammaDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/HypergeometricDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/KolmogorovSmirnovDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/NormalDistribution.java > > UU > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/PascalDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/PoissonDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/SaddlePointExpansion.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/TDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/WeibullDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/ZipfDistribution.java > > > > harmonia,0:svn/asf% svnlook changed -r 1210359 $PWD > > U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/AbstractRealDistribution.java > > U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/PascalDistribution.java > > _U > > commons/proper/math/trunk/src/main/java/org/apache/commons/math/distribution/SaddlePointExpansion.java > > > > The harmonia version is definitely wrong. Commons devs (especially > > celestin) --- please confirm whether or not r1210359 _on svn.us.apache.org_ > > is correct. > > > As far as I (== celestin) can judge, *both* versions look OK. What I > did is svn checkout of the latest version on both repositories. Then, > I ran diff on each of the files listed above. *All* files are > identical, but for the svn:keywords which *might* sometimes differ. > > More precisely, the following files are strictly identical on both > repositories > ChiSquaredDistribution.java (HEAD=r1210756) > ExponentialDistribution.java (HEAD=r1209963) > FDistribution.java (HEAD=r1210756) > GammaDistribution.java (HEAD=r1210756) > NormalDistribution.java (HEAD=r1210756) > TDistribution.java (HEAD=r1210756) > > while the following files are tagged r1210359 on us mirror, and > r1209963 on the eu mirror (but the remainder of the files are > identical) > BinomialDistribution.java > CauchyDistribution.java > HypergeometricDistribution.java > KolmogorovSmirnovDistribution.java > PoissonDistribution.java > WeibullDistribution.java > ZipfDistribution.java > I *believe* these files should in fact be tagged r1210359 on *both* > repositories. > > Does that help? > Sébastien Yes. Carefully comparing checkouts of the relevant revisions from both mirrors confirms that both r1210358 and r1210359 actually agree between the two mirrors on the contents of all files and props, and only disagree in the 'log -qv' output (and in the changed-paths cache within the revision file). What happened is that eris(svn.us) thinks the N-3 files it has in excess had undergone a propchange but no textchange, where in fact the revision simply replaces the proplist by a proplist identical to the existing one. The sync process[1] is justified in silently swallowing these changes. I have a few questions still: - Can you run 'svn diff -c r1210359' (against either mirror) and confirm that that is exactly what you intended to commit? - Why would the N other files have been committed in that revision? Recall that those files had no text changes and their property lists were re-set to the values they already had. - How to reproduce the errors you saw? Can you show the output of `svn diff` at the time of a failed commit attempt? I tried to commit (from a fresh checkout of HEAD) via the mirror, once to files that did change in the revision and once to files that didn't change in the revision, and both attempts succeeded (r1223004, r1223005). - You used "SVN/1.6.15 SVNKit/1.3.5 (http://svnkit.com/) r7406" in that commit. The servers ran 1.7.0. My client was 1.7.0 too. As to the diagnosis: - The non-functional propchanges should have been collapsed and removed before or during the commit. This should happen within the FS backend: the changed-paths information should not list such files with 'prop_mod=TRUE'. I'm not sure if other layers should do such collapsing too. Thanks, Daniel [1] Not only to harmonia, but also to another mirror which he booted off the end-of-november dumpfiles and synced from svn.us.