Mercurial > hgsubversion
comparison __init__.py @ 209:d06572495c5e
Better error message when we encounter an unknown SSL cert.
| author | Augie Fackler <durin42@gmail.com> |
|---|---|
| date | Fri, 13 Mar 2009 13:41:18 -0500 |
| parents | 91db8fc049b0 |
| children | 2165461d2dd8 |
comparison
equal
deleted
inserted
replaced
| 208:de3807ceea5c | 209:d06572495c5e |
|---|---|
| 14 | 14 |
| 15 import os | 15 import os |
| 16 | 16 |
| 17 from mercurial import commands | 17 from mercurial import commands |
| 18 from mercurial import hg | 18 from mercurial import hg |
| 19 from mercurial import util as mutil | |
| 20 | |
| 21 from svn import core | |
| 19 | 22 |
| 20 import svncommand | 23 import svncommand |
| 21 import fetch_command | 24 import fetch_command |
| 22 import tag_repo | 25 import tag_repo |
| 23 import util | 26 import util |
| 29 repo.__class__ = tag_repo.generate_repo_class(ui, repo) | 32 repo.__class__ = tag_repo.generate_repo_class(ui, repo) |
| 30 | 33 |
| 31 | 34 |
| 32 def svn(ui, repo, subcommand, *args, **opts): | 35 def svn(ui, repo, subcommand, *args, **opts): |
| 33 '''see detailed help for list of subcommands''' | 36 '''see detailed help for list of subcommands''' |
| 37 try: | |
| 38 return svncommand.svncmd(ui, repo, subcommand, *args, **opts) | |
| 39 except core.SubversionException, e: | |
| 40 if e.apr_err == 230001: | |
| 41 raise mutil.Abort('It appears svn does not trust the ssl cert for this site.\n' | |
| 42 'Please try running svn ls on that url first.') | |
| 43 raise | |
| 34 | 44 |
| 35 return svncommand.svncmd(ui, repo, subcommand, *args, **opts) | |
| 36 | 45 |
| 37 def svn_fetch(ui, svn_url, hg_repo_path=None, **opts): | 46 def svn_fetch(ui, svn_url, hg_repo_path=None, **opts): |
| 38 '''clone Subversion repository to a local Mercurial repository. | 47 '''clone Subversion repository to a local Mercurial repository. |
| 39 | 48 |
| 40 If no destination directory name is specified, it defaults to the | 49 If no destination directory name is specified, it defaults to the |
| 46 if not hg_repo_path: | 55 if not hg_repo_path: |
| 47 hg_repo_path = hg.defaultdest(svn_url) + "-hg" | 56 hg_repo_path = hg.defaultdest(svn_url) + "-hg" |
| 48 ui.status("Assuming destination %s\n" % hg_repo_path) | 57 ui.status("Assuming destination %s\n" % hg_repo_path) |
| 49 should_update = not os.path.exists(hg_repo_path) | 58 should_update = not os.path.exists(hg_repo_path) |
| 50 svn_url = util.normalize_url(svn_url) | 59 svn_url = util.normalize_url(svn_url) |
| 51 res = fetch_command.fetch_revisions(ui, svn_url, hg_repo_path, **opts) | 60 try: |
| 61 res = fetch_command.fetch_revisions(ui, svn_url, hg_repo_path, **opts) | |
| 62 except core.SubversionException, e: | |
| 63 if e.apr_err == 230001: | |
| 64 raise mutil.Abort('It appears svn does not trust the ssl cert for this site.\n' | |
| 65 'Please try running svn ls on that url first.') | |
| 66 raise | |
| 52 if (res is None or res == 0) and should_update: | 67 if (res is None or res == 0) and should_update: |
| 53 repo = hg.repository(ui, hg_repo_path) | 68 repo = hg.repository(ui, hg_repo_path) |
| 54 commands.update(ui, repo, repo['tip'].node()) | 69 commands.update(ui, repo, repo['tip'].node()) |
| 55 return res | 70 return res |
| 56 | 71 |
