Mercurial > hgsubversion
comparison tests/test_urls.py @ 469:5567af673f83
Revive svn+http(s) URLs support (issue94)
Telling svn from mercurial repository automatically is not always possible, or
at least not seamlessly. Let 'http://repo.com/svn' be an svn repository,
protected with basic authentication. Trying to clone it directly does something
like:
1- Open it like a mercurial repository:
* send between command, ask for credentials, fail
* fallback to static-http, ask for crendentials two times, fail
2- Open it like an svn repository
Mercurial [auth] facility is helpful here, but few people know about it, and it
may seem weird to store svn credentials in mercurial configuration. An svn-like
password manager would not help either because all connections attempts in [1]
fail and it's unlikely we would store credentials in this situation. Instead,
we can clone 'svn+http://repo.com/svn', which will skip step [1].
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Sat, 18 Jul 2009 20:44:33 -0500 |
parents | 037bba1c6736 |
children | 15443c592f7a |
comparison
equal
deleted
inserted
replaced
468:037bba1c6736 | 469:5567af673f83 |
---|---|
51 ui = test_util.ui.ui() | 51 ui = test_util.ui.ui() |
52 ui.setconfig('hgsubversion', 'username', 'bob') | 52 ui.setconfig('hgsubversion', 'username', 'bob') |
53 repo = svnrepo.svnremoterepo(ui, 'svn+ssh://joe@foo/bar') | 53 repo = svnrepo.svnremoterepo(ui, 'svn+ssh://joe@foo/bar') |
54 self.assertEqual('svn+ssh://bob@foo/bar', repo.svnurl) | 54 self.assertEqual('svn+ssh://bob@foo/bar', repo.svnurl) |
55 | 55 |
56 repo = svnrepo.svnremoterepo(ui, 'svn+http://joe@foo/bar') | |
57 self.assertEqual(('http://foo/bar', 'bob', None), repo.svnauth) | |
58 | |
56 def suite(): | 59 def suite(): |
57 all = [unittest.TestLoader().loadTestsFromTestCase(TestSubversionUrls)] | 60 all = [unittest.TestLoader().loadTestsFromTestCase(TestSubversionUrls)] |
58 return unittest.TestSuite(all) | 61 return unittest.TestSuite(all) |