forked from qt-creator/qt-creator
IVersionControl: Add method to get a ShellCommand for initial checkouts
Change-Id: Iabc056dad186d788003b221afb34303c37fef728 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user