from bzrlib import osutils, ui
from bzrlib.errors import InvalidRevisionId
from bzrlib.trace import mutter
+
from bzrlib.plugins.svn import mapping, properties
-from bzrlib.plugins.svn.errors import ERR_FS_NOT_DIRECTORY, ERR_FS_NOT_FOUND
+from bzrlib.plugins.svn.core import SubversionException, NODE_DIR
+from bzrlib.plugins.svn.errors import ERR_FS_NOT_DIRECTORY, ERR_FS_NOT_FOUND, ERR_RA_DAV_PATH_NOT_FOUND
from bzrlib.plugins.svn.layout import RepositoryLayout
from bzrlib.plugins.svn.mapping3.scheme import (BranchingScheme, guess_scheme_from_branch_path,
guess_scheme_from_history, ListBranchingScheme,
parse_list_scheme_text, NoBranchingScheme,
TrunkBranchingScheme, ListBranchingScheme)
-import sha, svn
-from svn.core import SubversionException
+import sha
SVN_PROP_BZR_BRANCHING_SCHEME = 'bzr:branching-scheme'
def get_branches(self, revnum, project=""):
def check_path(path):
- return self.repository.transport.check_path(path, revnum) == svn.core.svn_node_dir
+ return self.repository.transport.check_path(path, revnum) == NODE_DIR
def find_children(path):
try:
+ assert not path.startswith("/")
dirents = self.repository.transport.get_dir(path, revnum)[0]
except SubversionException, (msg, num):
- if num == ERR_FS_NOT_DIRECTORY:
- return None
- if num == ERR_FS_NOT_FOUND:
+ if num in (ERR_FS_NOT_DIRECTORY, ERR_FS_NOT_FOUND, ERR_RA_DAV_PATH_NOT_FOUND):
return None
raise
return dirents.keys()
def set_property_scheme(repository, scheme):
- def done(revmetadata, pool):
- pass
editor = repository.transport.get_commit_editor(
{properties.PROP_REVISION_LOG: "Updating branching scheme for Bazaar."},
done, None, False)
- root = editor.open_root(-1)
- editor.change_dir_prop(root, SVN_PROP_BZR_BRANCHING_SCHEME,
+ root = editor.open_root()
+ root.change_prop(SVN_PROP_BZR_BRANCHING_SCHEME,
"".join(map(lambda x: x+"\n", scheme.branch_list)).encode("utf-8"))
- editor.close_directory(root)
+ root.close()
editor.close()