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:
@@ -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);
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user