WorkingSubversionBranch.test_create_checkout fails

Bug #229419 reported by Guillermo Gonzalez
26
Affects Status Importance Assigned to Milestone
Bazaar Subversion Plugin
Fix Released
High
Jelmer Vernooij

Bug Description

testing: /Users/guillermo/Projects/bazaar/bzr/dev/bzr
   /Users/guillermo/Projects/bazaar/bzr/dev/bzrlib (1.6dev python2.5.1)

[9/824 in 3s] bzrlib.plugins.svn.tests.test_branch.WorkingSubversionBranch.test_create_checkout subversion/libsvn_ra/ra_loader.c:906: failed assertion `*path != '/''

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 229419] [NEW] WorkingSubversionBranch.test_create_checkout fails

  status triaged
  importance high

Am Montag, den 12.05.2008, 03:21 +0000 schrieb Guillermo Gonzalez:
> Public bug reported:
>
> testing: /Users/guillermo/Projects/bazaar/bzr/dev/bzr
> /Users/guillermo/Projects/bazaar/bzr/dev/bzrlib (1.6dev python2.5.1)
>
> [9/824 in 3s]
> bzrlib.plugins.svn.tests.test_branch.WorkingSubversionBranch.test_create_checkout
> subversion/libsvn_ra/ra_loader.c:906: failed assertion `*path != '/''
>
> ** Affects: bzr-svn
> Importance: Undecided
> Status: New
>
--
Jelmer Vernooij <email address hidden> - http://samba.org/~jelmer/
Jabber: <email address hidden>

Changed in bzr-svn:
importance: Undecided → High
status: New → Triaged
Revision history for this message
Martin von Gagern (gagern) wrote :

Maybe passing None to svn.ra.get_log2 instead of ["/"] is the correct solution here, as suggested in bug 234010. The fix simply removes two lines from get_log in transport.py.

Currently that fails due to bugs in Subversion, which have already been addressed upstream:
http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_ra/ra_loader.c?r1=31425&r2=31470
http://subversion.tigris.org/servlets/BrowseList?list=dev&by=thread&from=656738

With those fixes in place, branching from a SVN repo still does not complete here (infinite loop maybe), but the requests are under way, so my remaining problems might be a different issue. Someone else test this please.

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 229419] Re: WorkingSubversionBranch.test_create_checkout fails

Martin von Gagern wrote:
> Maybe passing None to svn.ra.get_log2 instead of ["/"] is the
> correct solution here, as suggested in bug 234010. The fix simply
> removes two lines from get_log in transport.py.
>
> Currently that fails due to bugs in Subversion, which have already
> been addressed upstream:
> http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_ra/ra_loader.c?r1=31425&r2=31470
>
>
> http://subversion.tigris.org/servlets/BrowseList?list=dev&by=thread&from=656738
>
>
>
> With those fixes in place, branching from a SVN repo still does not
> complete here (infinite loop maybe), but the requests are under
> way, so my remaining problems might be a different issue. Someone
> else test this please.
Unfortunately this doesn't work with older versions of the python
Subversion bindings, which don't allow anything that is not a list to
be passed in.

So we'll need to add a check for the version of Subversion and change
the behaviour based on that.

Cheers,

Jelmer

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Fixed in r1183

Changed in bzr-svn:
assignee: nobody → jelmer
status: Triaged → Fix Committed
Revision history for this message
Mirko Friedenhagen (mfriedenhagen) wrote :

Hello,

I still get this error after upgrading svn, bzr and bzr-svn:

(uiserver):u42913263:~/.bazaar/plugins/svn > bzr selftest bzrlib.plugins.svn.tests.*
testing: /homepages/32/d184636148/htdocs/bin/bzr
   /homepages/32/d184636148/htdocs/lib/python2.5/site-packages/bzr-1.6b1-py2.5-linux-i686.egg/bzrlib (1.6b1 python2.5)

[9/833 in 2s] bzrlib.plugins.svn.tests.test_branch.WorkingSubversionBranch.test_create_checkout python: subversion/libsvn_ra/ra_loader.c:1031: svn_ra_get_log2: Assertion `*path != '/'' failed.
Aborted

(uiserver):u42913263:~/.bazaar/plugins/svn > svn-1.6 info ~/svn-trunk/
Path: /kunden/homepages/32/d184636148/htdocs/svn-trunk
URL: http://svn.collab.net/repos/svn/trunk
Repository Root: http://svn.collab.net/repos/svn
Repository UUID: 612f8ebc-c883-4be0-9ee0-a4e9ef946e3a
Revision: 31557
Node Kind: directory
Schedule: normal
Last Changed Author: lgo
Last Changed Rev: 31557
Last Changed Date: 2008-06-02 17:13:29 +0200 (Mon, 02 Jun 2008)

(uiserver):u42913263:~/.bazaar/plugins/svn > bzr version-info
revision-id: <email address hidden>
date: 2008-05-31 04:36:05 +0200
build-date: 2008-06-02 22:30:37 +0200
revno: 1195
branch-nick: svn

Revision history for this message
Mirko Friedenhagen (mfriedenhagen) wrote :

I propably found the error:
- if (as suggested on the build-page) svn is built with `autogen.sh --release`, then svn.core.SVN_VER_REVISION == 0
- therefore transport.py will have paths set to ["/"]

Revision history for this message
Mirko Friedenhagen (mfriedenhagen) wrote :

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: <email address hidden>-\
# azcj5h0tu7dyyw27
# target_branch: http://people.samba.org/bzr/jelmer/bzr-svn/stable/
# testament_sha1: 8589601b05c9834a22cfbf0d9c2ee42984024b9b
# timestamp: 2008-06-02 23:26:25 +0200
# base_revision_id: <email address hidden>
#
# Begin patch
=== modified file 'transport.py'
--- transport.py 2008-05-28 23:27:39 +0000
+++ transport.py 2008-06-02 20:52:24 +0000
@@ -424,7 +424,8 @@
         # No paths starting with slash, please
         assert paths is None or all([not p.startswith("/") for p in paths])
         if (paths is None and
- (svn.core.SVN_VER_MINOR < 6 or svn.core.SVN_VER_REVISION < 31470)):
+ (svn.core.SVN_VER_MINOR < 6 or (
+ svn.core.SVN_VER_REVISION < 31470 and svn.core.SVN_VER_REVISION != 0))):
             paths = ["/"]
         self.mutter('svn log %r:%r %r (limit: %r)' % (from_revnum, to_revnum, paths, limit))
         if hasattr(svn.ra, 'get_log2'):

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWfMkHrUAAX9fgABweWP//1Mj
nQD////wUAODxit7ndgDBKEU9EjaJpsNTKaaZNAAaPSGTIaAkomTCaaEo9qNE2g0I0YjRk00wAOY
ACZMACYTBMIYAjAA0UNI2p6gGgMgAGQyDQ9QNqASUCnpMmJmkaCepk1Mammj0IyGR6h6ajjCWRX4
8YmOniglIqTLXixueBXBmesMAjzR861ltqNPKqqZ5NRuuSu0UPKed8Gff768D902o37MX7HK6R7V
xY1qLBgqsql7skjrWrFWPIg1HG5EOGdU6JoZh942BIJfTP2imNaWvvc+K1CPUL02k6m1YnBdATMb
ahm9CwFuVjS4YniaIiVmkeOEZR5NgOHEhUFLFqU7DCiDyzxJyOQdlOG2wrbMSHHZlq0gsoolNwsY
ujMvcoCtpJew1gaG2z0xiF6LnpxVje81qA5P02kcykjaK0mJ9ShI2tBVQsfI8VAaryRaRuycpFRo
jHA28DxFfiykQGphoum7AuVo03T6qa0sWLAzU+D3Hu8hmKCgppWs9xMNBmkNnG3k4J0Cc15DTTFT
TCpqk6ybhkcy8euGS5JYF1zEwxVlpQH8ZOffmdKiaVLd8ZReqpsI11Ry5Pco0uuMQVnMiSg68ZGF
nynIw3Wsepw6GKYGOEYT3cC6BKJ0SEh5BICSeTcavkrEMl55oELesOs1EQ7jwPgbznt7DJ1GU2hQ
B6OCRa+FrFXQKf3XZ8/oB3lZacSIMJlsp3g4Mvyz55iybDYvxGDcNXOUbZMxIJ6ZcjWOLkugiUAu
1Gu4J7T0olaOz5RcmYlJCkjPYWmGc5r7wzTOoSBeLdAGWVhYdPm5/3CtBOA70TENzW3BLSFY5RAg
tjs8Ng0uLLLDoIEDtGkx69W4wYHJKiwMFxpEt3LmtF+3vExwVIPanKo1EPJDQHFnSXr5PH2hj5Z2
vqA/HSk7cBoS4vpi+4UtjBpfcFwGEywTblwSwveEOirGsQmh7X4jk4sTJbJpHiqccLwcA1rBaCKg
DmQA87YJwPYhi0YAW5tMAPi9GLJiDEvIHruB6qtiSz3J5ANSm1RiMoXBWTEpJNC+tNXRnxCo220s
TohPNzuS0AQWSFoOURjBig2AxgEjeFWe5hOTAMiuxY1AIJMr62c+NG7BcGuKP8WMqnLb9ExxNb0g
mtmpjVYlBql0isKC++vcjllNZgOR1iyv509cVa7Nase5riQsRVSmQ+BdyRThQkPMkHrU

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mirko Friedenhagen wrote:
> # Bazaar merge directive format 2 (Bazaar 0.90)
Any chance you can post this patch again, perhaps as attachment? I get
decoding errors from bzr trying pull it in its current form.

Cheers,

Jelmer
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBSERoxAy0JeEGD2blAQKIEAQAl3iK6B1fy/wpbw4dBvM2hmOtO/gBTdCR
f/GHx21htUPlNgH0ZnIkyD/HrzF9WV5RtwVnuXoItXEn7P9ES2R+jXDlAUZfwpG2
zEwyNJRQqKk5r0SUbMOUrdAHh2CEmYhSz5jF04Zxd/utpc4A3hpV97QeNZ/IwYrt
YqWo1sixxqw=
=4I3/
-----END PGP SIGNATURE-----

Revision history for this message
Mirko Friedenhagen (mfriedenhagen) wrote :

Hello Jelmer,

I have sent you the patch directly to your samba.org address. After peeking a bit in the core.i swig-file, I think svn.core.SVN_VER_REVISION is only set to something other than 0 if you build a tar-ball first, see subversion/include/svn_version.h from the svn-trunk:
/** Revision number: The repository revision number of this release.
 *
 * This constant is used to generate the build number part of the Windows
 * file version. Its value remains 0 in the repository.
 *
 * When rolling a tarball, we automatically replace it with what we
 * guess to be the correct revision number.
 */
#define SVN_VER_REVISION 0

Jelmer Vernooij (jelmer)
Changed in bzr-svn:
milestone: none → 0.4.11
Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.