diff --git a/src/plugins/subversion/checkoutwizard.cpp b/src/plugins/subversion/checkoutwizard.cpp index 6fe1488f951..c9f5e4918ea 100644 --- a/src/plugins/subversion/checkoutwizard.cpp +++ b/src/plugins/subversion/checkoutwizard.cpp @@ -30,6 +30,7 @@ #include "checkoutwizard.h" #include "checkoutwizardpage.h" +#include "subversionconstants.h" #include "subversionplugin.h" #include "subversionclient.h" @@ -74,7 +75,11 @@ VcsCommand *CheckoutWizard::createCommand(FileName *checkoutDir) const FileName binary = settings.binaryPath(); const QString directory = cwp->directory(); QStringList args; - args << QLatin1String("checkout") << cwp->repository() << directory; + args << QLatin1String("checkout"); + args << QLatin1String(Constants::NON_INTERACTIVE_OPTION); + if (cwp->trustServerCert()) + args << QLatin1String("--trust-server-cert"); + args << cwp->repository() << directory; const QString workingDirectory = cwp->path(); *checkoutDir = FileName::fromString(workingDirectory + QLatin1Char('/') + directory); diff --git a/src/plugins/subversion/checkoutwizardpage.cpp b/src/plugins/subversion/checkoutwizardpage.cpp index 66af5d02f54..a6a7a1a6474 100644 --- a/src/plugins/subversion/checkoutwizardpage.cpp +++ b/src/plugins/subversion/checkoutwizardpage.cpp @@ -30,16 +30,26 @@ #include "checkoutwizardpage.h" +#include + namespace Subversion { namespace Internal { CheckoutWizardPage::CheckoutWizardPage(QWidget *parent) : - VcsBase::BaseCheckoutWizardPage(parent) + VcsBase::BaseCheckoutWizardPage(parent), + m_trustServerCertBox(new QCheckBox(tr("Trust Server Certificate"))) { setTitle(tr("Location")); setSubTitle(tr("Specify repository URL, checkout directory and path.")); setRepositoryLabel(tr("Repository:")); setBranchSelectorVisible(false); + + addLocalControl(m_trustServerCertBox); +} + +bool CheckoutWizardPage::trustServerCert() const +{ + return m_trustServerCertBox->isChecked(); } QString CheckoutWizardPage::directoryFromRepository(const QString &repoIn) const diff --git a/src/plugins/subversion/checkoutwizardpage.h b/src/plugins/subversion/checkoutwizardpage.h index def7c1608de..f81096ec9a9 100644 --- a/src/plugins/subversion/checkoutwizardpage.h +++ b/src/plugins/subversion/checkoutwizardpage.h @@ -33,6 +33,10 @@ #include +QT_BEGIN_NAMESPACE +class QCheckBox; +QT_END_NAMESPACE + namespace Subversion { namespace Internal { @@ -41,8 +45,13 @@ class CheckoutWizardPage : public VcsBase::BaseCheckoutWizardPage { public: CheckoutWizardPage(QWidget *parent = 0); + bool trustServerCert() const; + protected: QString directoryFromRepository(const QString &r) const; + +private: + QCheckBox *m_trustServerCertBox; }; } // namespace Internal