# HG changeset patch # User Augie Fackler # Date 1243394520 18000 # Node ID 13998e698d3e1433f6e13a790e94317372a5c894 # Parent 47c0110046dcc48c107e156c8d1e0e9a2f4f7299# Parent 4f4db3d2fdbb66b282109ba694c8577353cd4f34 Merge with crew. diff --git a/hgsubversion/hg_delta_editor.py b/hgsubversion/hg_delta_editor.py --- a/hgsubversion/hg_delta_editor.py +++ b/hgsubversion/hg_delta_editor.py @@ -420,7 +420,11 @@ class HgChangeReceiver(delta.Editor): for tags_path in self.tag_locations: if path and (path.startswith(tags_path) and len(path) > len('%s/' % tags_path)): - tag, _, subpath = path[len(tags_path)+1:].partition('/') + tag = path[len(tags_path)+1:] + if '/' in tag: + tag, subpath = tag.split('/', 1) + else: + subpath = '' return (subpath, tag, '%s/%s' % (tags_path, tag)) return (None, None, None) diff --git a/hgsubversion/svnexternals.py b/hgsubversion/svnexternals.py --- a/hgsubversion/svnexternals.py +++ b/hgsubversion/svnexternals.py @@ -242,8 +242,8 @@ class externalsupdater: args = ['svn'] + args self.ui.debug(_('updating externals: %r, cwd=%s\n') % (args, cwd)) shell = os.name == 'nt' - subprocess.check_call(args, cwd=cwd, shell=shell, - stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + if subprocess.call(args, cwd=cwd, shell=shell) != 0: + raise hgutil.Abort("subprocess '%s' failed" % ' '.join(args)) def updateexternals(ui, args, repo, **opts): """update repository externals @@ -282,4 +282,3 @@ def updateexternals(ui, args, repo, **op raise hgutil.Abort(_('unknown update actions: %r') % action) file(repo.join('svn/externals'), 'wb').write(newext) - diff --git a/hgsubversion/svnwrap/svn_swig_wrapper.py b/hgsubversion/svnwrap/svn_swig_wrapper.py --- a/hgsubversion/svnwrap/svn_swig_wrapper.py +++ b/hgsubversion/svnwrap/svn_swig_wrapper.py @@ -6,9 +6,13 @@ import sys import tempfile import urlparse import urllib -import hashlib import collections +import warnings +warnings.filterwarnings('ignore', + module='svn.core', + category=DeprecationWarning) + from svn import client from svn import core from svn import delta diff --git a/hgsubversion/svnwrap/tests/test_svnwrap.py b/hgsubversion/svnwrap/tests/test_svnwrap.py --- a/hgsubversion/svnwrap/tests/test_svnwrap.py +++ b/hgsubversion/svnwrap/tests/test_svnwrap.py @@ -12,14 +12,15 @@ class TestBasicRepoLayout(unittest.TestC def setUp(self): self.tmpdir = tempfile.mkdtemp('svnwrap_test') self.repo_path = '%s/testrepo' % self.tmpdir - os.spawnvp(os.P_WAIT, 'svnadmin', ['svnadmin', 'create', + os.spawnvp(os.P_WAIT, 'svnadmin', ['svnadmin', 'create', self.repo_path,]) - inp = open(os.path.join(os.path.dirname(__file__), 'fixtures', + inp = open(os.path.join(os.path.dirname(__file__), 'fixtures', 'project_root_at_repo_root.svndump')) - proc = subprocess.check_call(['svnadmin', 'load', self.repo_path,], + proc = subprocess.call(['svnadmin', 'load', self.repo_path,], stdin=inp, close_fds=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + assert proc == 0 self.repo = svnwrap.SubversionRepo('file://%s' % self.repo_path) def tearDown(self): @@ -57,13 +58,14 @@ class TestRootAsSubdirOfRepo(TestBasicRe def setUp(self): self.tmpdir = tempfile.mkdtemp('svnwrap_test') self.repo_path = '%s/testrepo' % self.tmpdir - os.spawnvp(os.P_WAIT, 'svnadmin', ['svnadmin', 'create', + os.spawnvp(os.P_WAIT, 'svnadmin', ['svnadmin', 'create', self.repo_path,]) - inp = open(os.path.join(os.path.dirname(__file__), 'fixtures', + inp = open(os.path.join(os.path.dirname(__file__), 'fixtures', 'project_root_not_repo_root.svndump')) - subprocess.check_call(['svnadmin', 'load', self.repo_path,], + ret = subprocess.call(['svnadmin', 'load', self.repo_path,], stdin=inp, close_fds=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - self.repo = svnwrap.SubversionRepo('file://%s/dummyproj' % + assert ret == 0 + self.repo = svnwrap.SubversionRepo('file://%s/dummyproj' % self.repo_path)