QSharedPointer<VCSBase::AbstractCheckoutJob> CloneWizard::createJob(const QList<QWizardPage *> ¶meterPages, QString *checkoutPath) { const CloneWizardPage *page = qobject_cast<const CloneWizardPage *>(parameterPages.front()); if (!page) return QSharedPointer<VCSBase::AbstractCheckoutJob>(); const MercurialSettings &settings = MercurialPlugin::instance()->settings(); QString path = page->path(); QString directory = page->directory(); QStringList args; args << QLatin1String("clone") << page->repository() << directory; *checkoutPath = path + QLatin1Char('/') + directory; VCSBase::ProcessCheckoutJob *job = new VCSBase::ProcessCheckoutJob; job->addStep(settings.stringValue(MercurialSettings::binaryPathKey), args, path); return QSharedPointer<VCSBase::AbstractCheckoutJob>(job); }
QSharedPointer<VcsBase::AbstractCheckoutJob> CloneWizardPage::createCheckoutJob(QString *checkoutPath) const { const Internal::GitClient *client = Internal::GitPlugin::instance()->gitClient(); const QString workingDirectory = path(); const QString checkoutDir = directory(); *checkoutPath = workingDirectory + QLatin1Char('/') + checkoutDir; const QString binary = client->gitBinaryPath(); VcsBase::ProcessCheckoutJob *job = new VcsBase::ProcessCheckoutJob; const QProcessEnvironment env = client->processEnvironment(); const QString checkoutBranch = branch(); QStringList args(QLatin1String("clone")); if (!checkoutBranch.isEmpty()) args << QLatin1String("--branch") << checkoutBranch; args << repository() << checkoutDir; job->addStep(binary, args, workingDirectory, env); return QSharedPointer<VcsBase::AbstractCheckoutJob>(job); }
QSharedPointer<VcsBase::AbstractCheckoutJob> CloneWizard::createJob(const QList<QWizardPage *> ¶meterPages, QString *checkoutPath) { const CloneWizardPage *page = qobject_cast<const CloneWizardPage *>(parameterPages.front()); if (!page) return QSharedPointer<VcsBase::AbstractCheckoutJob>(); const BazaarSettings &settings = BazaarPlugin::instance()->settings(); *checkoutPath = page->path() + QLatin1Char('/') + page->directory(); const CloneOptionsPanel *panel = page->cloneOptionsPanel(); QStringList extraOptions; if (panel->isUseExistingDirectoryOptionEnabled()) extraOptions += QLatin1String("--use-existing-dir"); if (panel->isStackedOptionEnabled()) extraOptions += QLatin1String("--stacked"); if (panel->isStandAloneOptionEnabled()) extraOptions += QLatin1String("--standalone"); if (panel->isBindOptionEnabled()) extraOptions += QLatin1String("--bind"); if (panel->isSwitchOptionEnabled()) extraOptions += QLatin1String("--switch"); if (panel->isHardLinkOptionEnabled()) extraOptions += QLatin1String("--hardlink"); if (panel->isNoTreeOptionEnabled()) extraOptions += QLatin1String("--no-tree"); if (!panel->revision().isEmpty()) extraOptions << QLatin1String("-r") << panel->revision(); const BazaarClient *client = BazaarPlugin::instance()->client(); QStringList args; args << client->vcsCommandString(BazaarClient::CloneCommand) << extraOptions << page->repository() << page->directory(); VcsBase::ProcessCheckoutJob *job = new VcsBase::ProcessCheckoutJob; job->addStep(settings.stringValue(BazaarSettings::binaryPathKey), args, page->path()); return QSharedPointer<VcsBase::AbstractCheckoutJob>(job); }