diff options
Diffstat (limited to 'src/plugins/git/clonewizard.cpp')
-rw-r--r-- | src/plugins/git/clonewizard.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/plugins/git/clonewizard.cpp b/src/plugins/git/clonewizard.cpp index 4229ba28385..4e2cfcb53ec 100644 --- a/src/plugins/git/clonewizard.cpp +++ b/src/plugins/git/clonewizard.cpp @@ -48,17 +48,11 @@ namespace Internal { // -------------------------------------------------------------------- CloneWizard::CloneWizard(const Utils::FileName &path, QWidget *parent) : - BaseCheckoutWizard(path, parent) + BaseCheckoutWizard(Constants::VCS_ID_GIT, parent) { setTitle(tr("Cloning")); setStartedStatus(tr("Cloning started...")); - const Internal::GitVersionControl *vc = Internal::GitPlugin::instance()->gitVersionControl(); - if (!vc->isConfigured()) { - auto configPage = new VcsConfigurationPage; - configPage->setVersionControl(vc); - addPage(configPage); - } auto cwp = new CloneWizardPage; cwp->setPath(path.toString()); addPage(cwp); @@ -69,7 +63,22 @@ VcsCommand *CloneWizard::createCommand(Utils::FileName *checkoutDir) // Collect parameters for the clone command. const CloneWizardPage *cwp = find<CloneWizardPage>(); QTC_ASSERT(cwp, return 0); - return cwp->createCheckoutJob(checkoutDir); + + const QString baseDirectory = cwp->path(); + const QString subDirectory = cwp->directory(); + + *checkoutDir = Utils::FileName::fromString(baseDirectory + QLatin1Char('/') + subDirectory); + + const QString checkoutBranch = cwp->branch(); + + QStringList args; + if (!checkoutBranch.isEmpty()) + args << QLatin1String("--branch") << checkoutBranch; + if (cwp->isRecursive()) + args << QLatin1String("--recursive"); + + return createCommandImpl(cwp->repository(), Utils::FileName::fromString(baseDirectory), + subDirectory, args); } } // namespace Internal |