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/git/gitversioncontrol.cpp | |
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/git/gitversioncontrol.cpp')
-rw-r--r-- | src/plugins/git/gitversioncontrol.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/plugins/git/gitversioncontrol.cpp b/src/plugins/git/gitversioncontrol.cpp index ba9ec5589e..bb5f7024e9 100644 --- a/src/plugins/git/gitversioncontrol.cpp +++ b/src/plugins/git/gitversioncontrol.cpp @@ -33,8 +33,10 @@ #include "gitutils.h" #include <vcsbase/vcsbaseconstants.h> +#include <vcsbase/vcscommand.h> #include <QFileInfo> +#include <QProcessEnvironment> namespace Git { namespace Internal { @@ -44,8 +46,7 @@ class GitTopicCache : public Core::IVersionControl::TopicCache public: GitTopicCache(GitClient *client) : m_client(client) - { - } + { } protected: QString trackFile(const QString &repository) override @@ -66,8 +67,7 @@ private: GitVersionControl::GitVersionControl(GitClient *client) : Core::IVersionControl(new GitTopicCache(client)), m_client(client) -{ -} +{ } QString GitVersionControl::displayName() const { @@ -96,6 +96,7 @@ bool GitVersionControl::supportsOperation(Operation operation) const case CreateRepositoryOperation: case SnapshotOperations: case AnnotateOperation: + case InitialCheckoutOperation: return true; } return false; @@ -139,6 +140,19 @@ QString GitVersionControl::vcsTopic(const QString &directory) return topic; } +Core::ShellCommand *GitVersionControl::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(), m_client->processEnvironment()); + command->addJob(m_client->vcsBinary(), args, -1); + return command; +} + QStringList GitVersionControl::additionalToolsPath() const { QStringList res = m_client->settings().searchPathList(); |