[Svnmerge] svnmerge and externals

Dustin J. Mitchell dustin at v.igoro.us
Sun Jan 15 20:54:14 PST 2012


On Sun, Jan 15, 2012 at 10:34 PM, Dustin J. Mitchell <dustin at v.igoro.us> wrote:
> Let's see if I can remember how to commit to svnmerge :)

Oh dear, not so fast ..

The tests aren't passing:

======================================================================
ERROR: Check that merges from a second branch are not considered
reflected for other branches.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "svnmerge_test.py", line 1044, in testBidirectionalMergesMultiBranch
    self.svnmerge("integrated -S branch2", match=r"^14-19$")
  File "svnmerge_test.py", line 243, in svnmerge
    return self.svnmerge2(cmds.split(), *args, **kwargs)
  File "svnmerge_test.py", line 256, in svnmerge2
    ret = svnmerge.main(args)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 2300, in main
    if source: PathIdentifier.hint(source)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 434, in hint
    url = target_to_url(target)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 986, in target_to_url
    info = get_svninfo(target)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 974, in get_svninfo
    for L in launchsvn('info "%s"' % target):
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 325, in launchsvn
    return launch(cmd, **kwargs)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 280, in launch
    raise LaunchError(p.returncode, cmd, stdout + stderr)
LaunchError: (1, 'svn --non-interactive info "branch2"', 'branch2:
(Not a versioned resource)\n\nsvn: A problem occurred; see other
errors for details\n')

======================================================================
ERROR: testNoWc (__main__.TestCase_TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "svnmerge_test.py", line 524, in testNoWc
    self.svnmerge("init", error=True, match=r"working dir")
  File "svnmerge_test.py", line 243, in svnmerge
    return self.svnmerge2(cmds.split(), *args, **kwargs)
  File "svnmerge_test.py", line 256, in svnmerge2
    ret = svnmerge.main(args)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 2299, in main
    PathIdentifier.hint(branch_dir)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 434, in hint
    url = target_to_url(target)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 986, in target_to_url
    info = get_svninfo(target)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 974, in get_svninfo
    for L in launchsvn('info "%s"' % target):
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 325, in launchsvn
    return launch(cmd, **kwargs)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 280, in launch
    raise LaunchError(p.returncode, cmd, stdout + stderr)
LaunchError: (1, 'svn --non-interactive info "."', "svn: '.' is not a
working copy\n")

======================================================================
ERROR: Test that uninit works, for both merged and blocked revisions.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "svnmerge_test.py", line 751, in testUninit
    self.svnmerge2(["init", self.test_repo_url + "/branches/testYYY-branch"])
  File "svnmerge_test.py", line 256, in svnmerge2
    ret = svnmerge.main(args)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 2373, in main
    cmd(branch_dir, branch_props)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 1825, in __call__
    return self.func(*args, **kwargs)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 1368, in action_init
    if is_url(cf_url) and check_url(cf_url):
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 947, in check_url
    return get_svninfo(url) != {}
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 974, in get_svninfo
    for L in launchsvn('info "%s"' % target):
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 325, in launchsvn
    return launch(cmd, **kwargs)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 280, in launch
    raise LaunchError(p.returncode, cmd, stdout + stderr)
LaunchError: (1, u'svn --non-interactive info
"file:///tmp/__svnmerge_test/repo/branches/testXXX-branch"',
'file:///tmp/__svnmerge_test/repo/branches/testXXX-branch:  (Not a
valid URL)\n\nsvn: A problem occurred; see other errors for
details\n')

======================================================================
ERROR: testUninitForce (__main__.TestCase_TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "svnmerge_test.py", line 821, in testUninitForce
    self.svnmerge2(["init", self.test_repo_url + "/branches/testYYY-branch"])
  File "svnmerge_test.py", line 256, in svnmerge2
    ret = svnmerge.main(args)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 2373, in main
    cmd(branch_dir, branch_props)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 1825, in __call__
    return self.func(*args, **kwargs)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 1368, in action_init
    if is_url(cf_url) and check_url(cf_url):
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 947, in check_url
    return get_svninfo(url) != {}
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 974, in get_svninfo
    for L in launchsvn('info "%s"' % target):
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 325, in launchsvn
    return launch(cmd, **kwargs)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 280, in launch
    raise LaunchError(p.returncode, cmd, stdout + stderr)
LaunchError: (1, u'svn --non-interactive info
"file:///tmp/__svnmerge_test/repo/branches/testXXX-branch"',
'file:///tmp/__svnmerge_test/repo/branches/testXXX-branch:  (Not a
valid URL)\n\nsvn: A problem occurred; see other errors for
details\n')

======================================================================
ERROR: test_invalid_url (__main__.TestCase_TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "svnmerge_test.py", line 1347, in test_invalid_url
    self.assertEqual(svnmerge.get_svninfo("file://foo/bar"), {})
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 974, in get_svninfo
    for L in launchsvn('info "%s"' % target):
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 325, in launchsvn
    return launch(cmd, **kwargs)
  File "/Users/dustin/tmp/svnmerge/svnmerge.py", line 280, in launch
    raise LaunchError(p.returncode, cmd, stdout + stderr)
LaunchError: (1, 'svn --non-interactive info "file://foo/bar"',
'file://foo/bar:  (Not a valid URL)\n\nsvn: A problem occurred; see
other errors for details\n')

======================================================================
FAIL: testTransitiveMergeWithBlock (__main__.TestCase_TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "svnmerge_test.py", line 698, in testTransitiveMergeWithBlock
    match=r"Committed revision 20")
  File "svnmerge_test.py", line 496, in launch
    return TestCase_SvnMerge.launch(self, cmd, *args, **kwargs)
  File "svnmerge_test.py", line 306, in launch
    return self._parseoutput(ret, out, **kwargs)
  File "svnmerge_test.py", line 290, in _parseoutput
    "svnmerge failed, with this output:\n%s" % out)
AssertionError: svnmerge failed, with this output:
svn: Commit failed (details follow):
svn: Aborting commit: '/private/tmp/__svnmerge_test/trunk' remains in conflict


----------------------------------------------------------------------
Ran 61 tests in 100.782s

Of course, four of those fail on the current (trunk) version.  Have
you successfully run the tests?

Dustin


More information about the Svnmerge mailing list