43
45
const QString mainLinePostfix;
44
46
const QString gitPostFix;
45
47
const QString protocolDelimiter;
48
QCheckBox *recursiveCheckBox;
48
51
CloneWizardPagePrivate::CloneWizardPagePrivate() :
49
52
mainLinePostfix(QLatin1String("/mainline.git")),
50
53
gitPostFix(QLatin1String(".git")),
51
protocolDelimiter(QLatin1String("://"))
54
protocolDelimiter(QLatin1String("://")),
68
72
setTitle(tr("Location"));
69
73
setSubTitle(tr("Specify repository URL, checkout directory and path."));
70
74
setRepositoryLabel(tr("Clone URL:"));
75
d->recursiveCheckBox = new QCheckBox(tr("Recursive"));
76
addLocalControl(d->recursiveCheckBox);
73
79
CloneWizardPage::~CloneWizardPage()
115
QSharedPointer<VcsBase::AbstractCheckoutJob> CloneWizardPage::createCheckoutJob(QString *checkoutPath) const
121
VcsBase::Command *CloneWizardPage::createCheckoutJob(QString *checkoutPath) const
117
123
const Internal::GitClient *client = Internal::GitPlugin::instance()->gitClient();
118
124
const QString workingDirectory = path();
119
125
const QString checkoutDir = directory();
120
126
*checkoutPath = workingDirectory + QLatin1Char('/') + checkoutDir;
122
const QString binary = client->gitBinaryPath();
124
VcsBase::ProcessCheckoutJob *job = new VcsBase::ProcessCheckoutJob;
125
const QProcessEnvironment env = client->processEnvironment();
126
128
const QString checkoutBranch = branch();
128
130
QStringList args(QLatin1String("clone"));
129
131
if (!checkoutBranch.isEmpty())
130
132
args << QLatin1String("--branch") << checkoutBranch;
131
args << repository() << checkoutDir;
132
job->addStep(binary, args, workingDirectory, env);
133
return QSharedPointer<VcsBase::AbstractCheckoutJob>(job);
133
if (d->recursiveCheckBox->isChecked())
134
args << QLatin1String("--recursive");
135
args << QLatin1String("--progress") << repository() << checkoutDir;
136
VcsBase::Command *command = new VcsBase::Command(client->gitBinaryPath(), workingDirectory,
137
client->processEnvironment());
138
command->addFlags(VcsBase::VcsBasePlugin::MergeOutputChannels);
139
command->addJob(args, -1);
136
143
QStringList CloneWizardPage::branches(const QString &repository, int *current)