[SciPy-dev] SVN "corruption" / bzr-svn oddity?

Pauli Virtanen pav@iki...
Wed Apr 15 18:06:22 CDT 2009


Hi all,

Commit r5661 apparently reverted some previous commits: compare

	http://projects.scipy.org/scipy/browser/trunk/scipy/special/tests/test_basic.py?rev=5660
	http://projects.scipy.org/scipy/browser/trunk/scipy/special/tests/test_basic.py?rev=5661

looking at the line "cephes.pbdv(1,0),(0.0,0.0)", which previously read
"cephes.pbdv(1,0),(0.0,1.0)". The strange thing is that

	http://projects.scipy.org/scipy/changeset/5661

does not show that this change was made. It seems like bzr-svn did something
clever...


Moreover,

	svn diff -r 5660:5661 test_basic.py

says

	svn: Unable to find repository location for 'test_basic.py' in revision 5660

which is unexpected.


The Git repository indicates that something like this occurred:

       5655 5656 5657 5658 5659 5660
	o----o----o----o----o----o----o 5661
         \___________________________/

So, the revision 5661 is based on 5655. Now, bzr-svn has done something
and silently reverted the changesets 5656-5660 so that the reversion
does not appear in the commit 5661. (Surprisingly, git-svn *recognized* this
as a merge!) The full diff appears to be

	$ git diff --stat 746e23..svn/trunk
	INSTALL.txt                                       |  222 ++++++++++++++-------
	scipy/io/matlab/tests/data/test_skip_variable.mat |  Bin 20225 -> 0 bytes
	scipy/io/matlab/tests/test_mio.py                 |   31 +---
	scipy/special/specfun_wrappers.c                  |    6 +-
	scipy/special/tests/test_basic.py                 |   31 +---
	scipy/stats/distributions.py                      |    2 +-

So, it seems that bzr-svn does some "deep" SVN-fu on merges. Looking at
the commit message for r5661 more closely, it says ". (copied from trunk)",
and indeed "svn log ." indicates that r5661 is based on r5660.

Does someone understand SVN enough to know what happened and how
to revert it, if needed?

My guess would be

	svn cp http://svn.scipy.org/svn/scipy/trunk@5660 http://svn.scipy.org/svn/scipy/trunk

    ***

Wed, 15 Apr 2009 23:31:39 +0200, Xavier Gnata wrote:
[clip]
> Well I'm do not understand this point Looking at
> http://svn.scipy.org/svn/scipy/trunk/scipy/special/tests/test_basic.py I
> can read :
> 
> def test_pbdv(self):
>         assert_equal(cephes.pbdv(1,0),(0.0,0.0)
> 
> This website claims I'm looking at
> 
> 
>     Revision 5661: /trunk/scipy/special/tests
> 
> I'm must be missing something...sorry for the noise....

Good catch, you're completely right! Something strange is going on.
I only checked it via looking at the commits in

	http://projects.scipy.org/scipy/timeline

and as you can see, none of the commits after 5657 actually reverts the 
change, so I assumed it was still there...

-- 
Pauli Virtanen



More information about the Scipy-dev mailing list