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/cvs | |
parent | f5dcc93b7e816a7d728082a9f8261595104abe89 (diff) |
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/cvs')
-rw-r--r-- | src/plugins/cvs/cvscontrol.cpp | 21 | ||||
-rw-r--r-- | src/plugins/cvs/cvscontrol.h | 5 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/plugins/cvs/cvscontrol.cpp b/src/plugins/cvs/cvscontrol.cpp index ceb1eeca664..82e09bc38aa 100644 --- a/src/plugins/cvs/cvscontrol.cpp +++ b/src/plugins/cvs/cvscontrol.cpp @@ -35,8 +35,10 @@ #include "cvssettings.h" #include <vcsbase/vcsbaseconstants.h> +#include <vcsbase/vcscommand.h> #include <utils/fileutils.h> +#include <utils/qtcassert.h> #include <QFileInfo> @@ -74,6 +76,7 @@ bool CvsControl::supportsOperation(Operation operation) const case AddOperation: case DeleteOperation: case AnnotateOperation: + case InitialCheckoutOperation: break; case MoveOperation: case CreateRepositoryOperation: @@ -132,6 +135,24 @@ QString CvsControl::vcsOpenText() const return tr("&Edit"); } +Core::ShellCommand *CvsControl::createInitialCheckoutCommand(const QString &url, + const Utils::FileName &baseDirectory, + const QString &localName, + const QStringList &extraArgs) +{ + QTC_ASSERT(localName == url, return 0); + + const CvsSettings settings = CvsPlugin::instance()->client()->settings(); + + QStringList args; + args << QLatin1String("checkout") << url << extraArgs; + + auto command = new VcsBase::VcsCommand(baseDirectory.toString(), + QProcessEnvironment::systemEnvironment()); + command->addJob(m_plugin->client()->vcsBinary(), settings.addOptions(args), -1); + return command; +} + bool CvsControl::managesDirectory(const QString &directory, QString *topLevel) const { return m_plugin->managesDirectory(directory, topLevel); diff --git a/src/plugins/cvs/cvscontrol.h b/src/plugins/cvs/cvscontrol.h index 7d2425aaadf..ec18756877a 100644 --- a/src/plugins/cvs/cvscontrol.h +++ b/src/plugins/cvs/cvscontrol.h @@ -63,6 +63,11 @@ public: QString vcsOpenText() const override; + Core::ShellCommand *createInitialCheckoutCommand(const QString &url, + const Utils::FileName &baseDirectory, + const QString &localName, + const QStringList &extraArgs) override; + void emitRepositoryChanged(const QString &s); void emitFilesChanged(const QStringList &l); |