summaryrefslogtreecommitdiff
path: root/src/plugins/git
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2013-09-08 22:47:13 +0300
committerOrgad Shaneh <orgads@gmail.com>2013-09-09 09:50:35 +0200
commit33fd157b341215804f36105c91706ae07b5b26e1 (patch)
tree90b23bd3e504190dfea57f8eab96cb7f20102010 /src/plugins/git
parentb1962162d0af15acc972aed6cf29096622eaa821 (diff)
downloadqt-creator-33fd157b341215804f36105c91706ae07b5b26e1.tar.gz
Git: Support recursive clone
If checked - includes submodules Change-Id: Ie70dad7f4bd66d97467b5a02bcb7db72167217fd Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Diffstat (limited to 'src/plugins/git')
-rw-r--r--src/plugins/git/clonewizardpage.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/plugins/git/clonewizardpage.cpp b/src/plugins/git/clonewizardpage.cpp
index 25a048f291..adebffb75d 100644
--- a/src/plugins/git/clonewizardpage.cpp
+++ b/src/plugins/git/clonewizardpage.cpp
@@ -33,6 +33,8 @@
#include <vcsbase/command.h>
+#include <QCheckBox>
+
namespace Git {
struct CloneWizardPagePrivate {
@@ -43,12 +45,14 @@ struct CloneWizardPagePrivate {
const QString mainLinePostfix;
const QString gitPostFix;
const QString protocolDelimiter;
+ QCheckBox *recursiveCheckBox;
};
CloneWizardPagePrivate::CloneWizardPagePrivate() :
mainLinePostfix(QLatin1String("/mainline.git")),
gitPostFix(QLatin1String(".git")),
- protocolDelimiter(QLatin1String("://"))
+ protocolDelimiter(QLatin1String("://")),
+ recursiveCheckBox(0)
{
}
@@ -68,6 +72,8 @@ CloneWizardPage::CloneWizardPage(QWidget *parent) :
setTitle(tr("Location"));
setSubTitle(tr("Specify repository URL, checkout directory and path."));
setRepositoryLabel(tr("Clone URL:"));
+ d->recursiveCheckBox = new QCheckBox(tr("Recursive"));
+ addLocalControl(d->recursiveCheckBox);
}
CloneWizardPage::~CloneWizardPage()
@@ -124,6 +130,8 @@ VcsBase::Command *CloneWizardPage::createCheckoutJob(QString *checkoutPath) cons
QStringList args(QLatin1String("clone"));
if (!checkoutBranch.isEmpty())
args << QLatin1String("--branch") << checkoutBranch;
+ if (d->recursiveCheckBox->isChecked())
+ args << QLatin1String("--recursive");
args << QLatin1String("--progress") << repository() << checkoutDir;
VcsBase::Command *command = new VcsBase::Command(client->gitBinaryPath(), workingDirectory,
client->processEnvironment());