diff options
author | Tobias Hunger <tobias.hunger@theqtcompany.com> | 2015-04-29 14:34:07 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@theqtcompany.com> | 2015-05-11 11:51:53 +0000 |
commit | 75f067550f15fe384f2b59989a90dcb7dd8d5e43 (patch) | |
tree | cd33c43e575a483a0d7a5516e71a9b29c16d33b7 /src/plugins/mercurial | |
parent | f5dcc93b7e816a7d728082a9f8261595104abe89 (diff) | |
download | qt-creator-75f067550f15fe384f2b59989a90dcb7dd8d5e43.tar.gz |
IVersionControl: Add method to get a ShellCommand for initial checkouts
Change-Id: Iabc056dad186d788003b221afb34303c37fef728
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/mercurial')
-rw-r--r-- | src/plugins/mercurial/mercurialcontrol.cpp | 16 | ||||
-rw-r--r-- | src/plugins/mercurial/mercurialcontrol.h | 5 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/plugins/mercurial/mercurialcontrol.cpp b/src/plugins/mercurial/mercurialcontrol.cpp index 6f5ad95fb1..827355601f 100644 --- a/src/plugins/mercurial/mercurialcontrol.cpp +++ b/src/plugins/mercurial/mercurialcontrol.cpp @@ -33,12 +33,14 @@ #include <vcsbase/vcsbaseclientsettings.h> #include <vcsbase/vcsbaseconstants.h> +#include <vcsbase/vcscommand.h> #include <coreplugin/vcsmanager.h> #include <utils/fileutils.h> #include <QFileInfo> +#include <QProcessEnvironment> #include <QVariant> #include <QStringList> #include <QDir> @@ -114,6 +116,7 @@ bool MercurialControl::supportsOperation(Operation operation) const case Core::IVersionControl::MoveOperation: case Core::IVersionControl::CreateRepositoryOperation: case Core::IVersionControl::AnnotateOperation: + case Core::IVersionControl::InitialCheckoutOperation: break; case Core::IVersionControl::SnapshotOperations: supported = false; @@ -161,6 +164,19 @@ bool MercurialControl::vcsAnnotate(const QString &file, int line) return true; } +Core::ShellCommand *MercurialControl::createInitialCheckoutCommand(const QString &url, + const Utils::FileName &baseDirectory, + const QString &localName, + const QStringList &extraArgs) +{ + QStringList args; + args << QLatin1String("clone") << extraArgs << url << localName; + auto command = new VcsBase::VcsCommand(baseDirectory.toString(), + mercurialClient->processEnvironment()); + command->addJob(mercurialClient->vcsBinary(), args, -1); + return command; +} + bool MercurialControl::sccManaged(const QString &filename) { const QFileInfo fi(filename); diff --git a/src/plugins/mercurial/mercurialcontrol.h b/src/plugins/mercurial/mercurialcontrol.h index 6807e57aba..30b33c8de3 100644 --- a/src/plugins/mercurial/mercurialcontrol.h +++ b/src/plugins/mercurial/mercurialcontrol.h @@ -64,6 +64,11 @@ public: bool vcsCreateRepository(const QString &directory) override; bool vcsAnnotate(const QString &file, int line) override; + Core::ShellCommand *createInitialCheckoutCommand(const QString &url, + const Utils::FileName &baseDirectory, + const QString &localName, + const QStringList &extraArgs) override; + bool sccManaged(const QString &filename); public slots: |