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)