"bzr: ERROR: libsvn._core.SubversionException" committing to SVN after top-level "branches" directory has been removed

Bug #235301 reported by Wesley J. Landaker
26
Affects Status Importance Assigned to Milestone
Bazaar Subversion Plugin
Fix Released
High
Jelmer Vernooij

Bug Description

This repository used to be trunk/tags/branches, but since nothing is in tags and branches anymore, and I will not be using that scheme in the future, I removed the empty branches and tags directories.

Now committing from a bzr-svn checkout crashes when it (apparently) is trying to do a PROPFIND on the branches directory. Clearing the subversion cache and removing subversion.conf doesn't help:

$ bzr commit -m "Note that some history is in CVS."
Committing to: svn+https://blowfishvhdl.svn.sourceforge.net/svnroot/blowfishvhdl/trunk
modified NEWS
bzr: ERROR: libsvn._core.SubversionException: ("PROPFIND request failed on '/svnroot/blowfishvhdl/!svn/bc/55/branches'", 175007)

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 846, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 797, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 499, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 2364, in run
    author=author)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 165, in write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/workingtree_4.py", line 240, in commit
    result = WorkingTree3.commit(self, message, revprops, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 165, in write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/mutabletree.py", line 197, in commit
    revprops=revprops, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/commit.py", line 387, in commit
    revision_id=self.rev_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 953, in fetch
    return inter.fetch(revision_id=revision_id, pb=pb, find_ghosts=find_ghosts)
  File "/home/wjl/.bazaar/plugins/svn/commit.py", line 791, in fetch
    self.copy_content(revision_id=revision_id, pb=pb)
  File "/home/wjl/.bazaar/plugins/svn/commit.py", line 755, in copy_content
    while not self.target.has_revision(revision_id):
  File "/home/wjl/.bazaar/plugins/svn/repository.py", line 373, in has_revision
    (path, revnum, _) = self.lookup_revision_id(revision_id)
  File "/home/wjl/.bazaar/plugins/svn/repository.py", line 553, in lookup_revision_id
    return self.get_revmap().get_branch_revnum(revid, layout)
  File "/home/wjl/.bazaar/plugins/svn/revids.py", line 172, in get_branch_revnum
    for entry_revid, branch, revno, mapping in self.actual.discover_revids(layout, self.cache.last_revnum_checked(str(layout)), last_revnum):
  File "/home/wjl/.bazaar/plugins/svn/revids.py", line 72, in discover_revids
    for (branch, revno) in self.repos.find_fileprop_branches(layout, from_revnum, to_revnum):
  File "/home/wjl/.bazaar/plugins/svn/repository.py", line 806, in find_fileprop_branches
    for (project, branch, nick) in layout.get_branches(revnum):
  File "/home/wjl/.bazaar/plugins/svn/mapping3/__init__.py", line 83, in get_branches
    find_children):
  File "/home/wjl/.bazaar/plugins/svn/mapping3/__init__.py", line 41, in expand_branch_pattern
    return expand_branch_pattern(begin+[todo[0]], todo[1:], check_path, get_children)
  File "/home/wjl/.bazaar/plugins/svn/mapping3/__init__.py", line 42, in expand_branch_pattern
    children = get_children(path)
  File "/home/wjl/.bazaar/plugins/svn/mapping3/__init__.py", line 72, in find_children
    dirents = self.repository.transport.get_dir(path, revnum)[0]
  File "/home/wjl/.bazaar/plugins/svn/transport.py", line 668, in get_dir
    return conn.get_dir(path, revnum, pool, kind)
  File "/home/wjl/.bazaar/plugins/svn/errors.py", line 107, in convert
    raise convert_error(e)
SubversionException: ("PROPFIND request failed on '/svnroot/blowfishvhdl/!svn/bc/55/branches'", 175007)

bzr 1.5 on python 2.5.2 (linux2)
arguments: ['/usr/bin/bzr', 'commit', '-m', 'Note that some history is in CVS.']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
plugins:
  bisect /home/wjl/.bazaar/plugins/bisect [1.1.0pre0]
  bzrtools /usr/lib/python2.5/site-packages/bzrlib/plugins/bzrtools [1.5.0]
  gtk /usr/lib/python2.5/site-packages/bzrlib/plugins/gtk [0.94.0]
  launchpad /usr/lib/python2.5/site-packages/bzrlib/plugins/launchpad [unknown]
  loom /home/wjl/.bazaar/plugins/loom [1.4.0dev0]
  rebase /home/wjl/.bazaar/plugins/rebase [0.3.0]
  stats /home/wjl/.bazaar/plugins/stats [unknown]
  svn /home/wjl/.bazaar/plugins/svn [0.4.11dev0]
*** Bazaar has encountered an internal error.
    Please report a bug at https://bugs.launchpad.net/bzr/+filebug
    including this traceback, and a description of what you
    were doing when the error occurred.
$ cat ~/.bazaar/subversion.conf
[945dce38-bb15-0410-8f44-e019aac900f5]
locations = svn+https://blowfishvhdl.svn.sourceforge.net/svnroot/blowfishvhdl
branching-scheme = trunk0
branching-scheme-mandatory = False
$ bzr info
Checkout (format: rich-root-pack)
Location:
       checkout root: .
  checkout of branch: svn+https://blowfishvhdl.svn.sourceforge.net/svnroot/blowfishvhdl/trunk
$ bzr revno ~/.bazaar/plugins/svn
1179

Please let me know if I can provide more info. The repository itself is a public one available on sourceforge, so you can check out it's history if that helps. I can also give write permission if it would help for testing.

Related branches

Revision history for this message
nicholas a. evans (nevans) wrote :
Download full text (5.5 KiB)

I appear to have the same problem. One (minor?) difference: unrelated projects in the same svnrepo that are missing branches or tags seem to be preventing me from committing into projects that *do* have the normal trunk/branches/tags layout.

Unfortunately, this is on my company's private repo, so I can't easily give you access for debug purposes. Basically, I've got two projects that really matter to me, and a large number of directories in the root level that don't. Many of the root level directories do not have trunk/branches/tags, but the two projects I care about do.

$ head -4 /home/nevans/.bazaar/subversion.conf
[0487d25d-142b-0410-8fcf-b82ac621bf97]
locations = https://svn.mdlogix.com;svn+https://svn.mdlogix.com
branching-scheme = trunk1
branching-scheme-mandatory = False
$ bzr info | grep branch
        checkout of branch: svn+https://svn.mdlogix.com/crms/trunk
$ bzr commit -m "merged in latest from trunk"
Committing to: svn+https://svn.mdlogix.com/crms/branches/db-agnostic
modified ...
modified ...
modified ...
...
bzr: ERROR: libsvn._core.SubversionException: ("PROPFIND request failed on '/!svn/bc/41790/xenconf/branches'", 175007)

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 846, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 797, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 499, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 2364, in run
    author=author)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 165, in write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/workingtree_4.py", line 240, in commit
    result = WorkingTree3.commit(self, message, revprops, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 165, in write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/mutabletree.py", line 197, in commit
    revprops=revprops, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/commit.py", line 387, in commit
    revision_id=self.rev_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 953, in fetch
    return inter.fetch(revision_id=revision_id, pb=pb, find_ghosts=find_ghosts)
  File "/home/nevans/.bazaar/plugins/svn/commit.py", line 791, in fetch
    self.copy_content(revision_id=revision_id, pb=pb)
  File "/home/nevans/.bazaar/plugins/svn/commit.py", line 755, in copy_content
    while not self.target.has_revision(revision_id):
  File "/home/nevans/.bazaar/plugins/svn/repository.py", line 373, in has_revision
    (path, revnum, _) = self.lookup_revision_id(revision_id)
  File "/home/nevans/.bazaar/plugins/svn/repository.py", line 553, in lookup_revision_id
    return self.get_revmap().get_branch_revnum(revid, layout)
  File "/home/nevans/.bazaar/plugins/svn/revids.py", line 172, in get_branch_revnum
    for entry_revid, branch, revno, mapping in self.actual.discover_revids(layout, s...

Read more...

Revision history for this message
nicholas a. evans (nevans) wrote :

FYI: I messed up my copy/paste a little bit. The bzr info was run from a different directory than the bzr commit. There's nothing strange going on there. :-)

 $ bzr info | grep checkout.*branch
        checkout of branch: svn+https://svn.mdlogix.com/crms/branches/db-agnostic

Jelmer Vernooij (jelmer)
Changed in bzr-svn:
assignee: nobody → jelmer
importance: Undecided → High
milestone: none → 0.4.11
status: New → Confirmed
Revision history for this message
Chandler Carruth (chandlerc) wrote :

I hit this too, and I've worked up a patch. The fundamental problem is that bzr-svn wasn't testing for all of the possible errors which can result from a simple missing file. It seems this sort of thing must be fairly common, so a more robust solution for bundling up similar or related error messages might be useful. In any event, this patch should resolve the problem as it currently stands.

Revision history for this message
Chandler Carruth (chandlerc) wrote :

I needed more caffeine before posting the patch. I forgot a rather crucial import line. Updated patch here.

Revision history for this message
Wesley J. Landaker (wjl) wrote :

I can confirm that Chandler Carruth's patch fixes the problem for at least the original case I reported!

Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: Confirmed → Fix Committed
Revision history for this message
ChriS (christophe-troestler) wrote : bzr: ERROR: libsvn._core.SubversionException: ("REPORT request failed on '/svnroot/pa-do/!svn/vcc/default'", 0)

Maybe a related problem is the following (choking on REPORT instead of PROPFIND)?

$ bzr branch https://pa-do.svn.sourceforge.net/svnroot/pa-do main
bzr: ERROR: libsvn._core.SubversionException: ("REPORT request failed on '/svnroot/pa-do/!svn/vcc/default'", 0)

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 846, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 797, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 499, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 942, in run
    hardlink=hardlink)
  File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/remote.py", line 76, in sprout
    result_repo.fetch(repo, revision_id=revision_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 953, in fetch
    return inter.fetch(revision_id=revision_id, pb=pb, find_ghosts=find_ghosts)
  File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/fetch.py", line 703, in fetch
    self._fetch_switch(conn, needed, pb)
  File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/fetch.py", line 659, in _fetch_switch
    reporter.finish_report(pool)
  File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/errors.py", line 107, in convert
    raise convert_error(e)
SubversionException: ("REPORT request failed on '/svnroot/pa-do/!svn/vcc/default'", 0)

bzr 1.5 on python 2.5.2 (linux2)
arguments: ['/usr/bin/bzr', 'branch', 'https://pa-do.svn.sourceforge.net/svnroot/pa-do', 'main']
encoding: 'ISO-8859-1', fsenc: 'ISO-8859-1', lang: 'en_US'
plugins:
  bzrtools /usr/lib/python2.5/site-packages/bzrlib/plugins/bzrtools [1.5.0]
  gtk /usr/lib/python2.5/site-packages/bzrlib/plugins/gtk [0.94.0]
  launchpad /usr/lib/python2.5/site-packages/bzrlib/plugins/launchpad [unknown]
  rebase /usr/lib/python2.5/site-packages/bzrlib/plugins/rebase [0.3.0]
  svn /usr/lib/python2.5/site-packages/bzrlib/plugins/svn [0.4.10]
*** Bazaar has encountered an internal error.
    Please report a bug at https://bugs.launchpad.net/bzr/+filebug
    including this traceback, and a description of what you
    were doing when the error occurred.

P.S. It may be good to officially indicate that bug #232339 is a duplicate.

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 235301] bzr: ERROR: libsvn._core.SubversionException: ("REPORT request failed on '/svnroot/pa-do/!svn/vcc/default'", 0)

Hi Chris,

I doubt the issue you're seeing is related to this bug. Your traceback
doesn't contain any indication that is the case. Please file a separate
bug report.

Cheers,

Jelmer
--
Jelmer Vernooij <email address hidden> - http://samba.org/~jelmer/
Jabber: <email address hidden>

Revision history for this message
ChriS (christophe-troestler) wrote :
Revision history for this message
ChriS (christophe-troestler) wrote :

I confirm that I do not see this bug anymore with bzr.dev and the current lp:bzr-svn.

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.