import logging
import os
import re
import urllib
import urlparse
try:
from pysvn import ClientError, Revision, opt_revision_kind
except ImportError:
pass
from django.utils.translation import ugettext as _
from reviewboard.diffviewer.parser import DiffParser
from reviewboard.scmtools import sshutils
from reviewboard.scmtools.certs import Certificate
from reviewboard.scmtools.core import SCMTool, HEAD, PRE_CREATION, UNKNOWN
from reviewboard.scmtools.errors import SCMError, \
FileNotFoundError, \
UnverifiedCertificateError, \
RepositoryNotFoundError
# Register these URI schemes so we can handle them properly.
sshutils.ssh_uri_schemes.append('svn+ssh')
sshutils.register_rbssh('SVN_SSH')
class SVNCertificateFailures:
"""SVN HTTPS certificate failure codes.
These map to the various SVN HTTPS certificate failures in li