Vcs: Optionally pass binary to run

Change-Id: I33eb1ce7d874bea27979068aca310f607ec7fde8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Tobias Hunger
2016-10-25 13:52:43 +02:00
parent e9b4cab807
commit 4b624ba7e9
2 changed files with 17 additions and 5 deletions

View File

@@ -175,6 +175,18 @@ QString VcsBaseClientImpl::stripLastNewline(const QString &in)
return in; return in;
} }
Utils::SynchronousProcessResponse
VcsBaseClientImpl::vcsFullySynchronousExec(const QString &workingDir, const Utils::FileName &binary,
const QStringList &args, unsigned flags,
int timeoutS, QTextCodec *codec) const
{
VcsCommand command(workingDir, processEnvironment());
command.addFlags(flags);
if (codec)
command.setCodec(codec);
return command.runCommand(binary, args, (timeoutS > 0) ? timeoutS : vcsTimeoutS());
}
void VcsBaseClientImpl::resetCachedVcsInfo(const QString &workingDir) void VcsBaseClientImpl::resetCachedVcsInfo(const QString &workingDir)
{ {
Core::VcsManager::resetVersionControlForDirectory(workingDir); Core::VcsManager::resetVersionControlForDirectory(workingDir);
@@ -197,11 +209,7 @@ Utils::SynchronousProcessResponse
VcsBaseClientImpl::vcsFullySynchronousExec(const QString &workingDir, const QStringList &args, VcsBaseClientImpl::vcsFullySynchronousExec(const QString &workingDir, const QStringList &args,
unsigned flags, int timeoutS, QTextCodec *codec) const unsigned flags, int timeoutS, QTextCodec *codec) const
{ {
VcsCommand command(workingDir, processEnvironment()); return vcsFullySynchronousExec(workingDir, vcsBinary(), args, flags, timeoutS, codec);
command.addFlags(flags);
if (codec)
command.setCodec(codec);
return command.runCommand(vcsBinary(), args, (timeoutS > 0) ? timeoutS : vcsTimeoutS());
} }
VcsCommand *VcsBaseClientImpl::vcsExec(const QString &workingDirectory, const QStringList &arguments, VcsCommand *VcsBaseClientImpl::vcsExec(const QString &workingDirectory, const QStringList &arguments,

View File

@@ -103,6 +103,10 @@ public:
Utils::SynchronousProcessResponse Utils::SynchronousProcessResponse
vcsFullySynchronousExec(const QString &workingDir, const QStringList &args, vcsFullySynchronousExec(const QString &workingDir, const QStringList &args,
unsigned flags = 0, int timeoutS = -1, QTextCodec *codec = nullptr) const; unsigned flags = 0, int timeoutS = -1, QTextCodec *codec = nullptr) const;
Utils::SynchronousProcessResponse
vcsFullySynchronousExec(const QString &workingDir, const Utils::FileName &binary, const QStringList &args,
unsigned flags = 0, int timeoutS = -1, QTextCodec *codec = nullptr) const;
// Simple helper to execute a single command using createCommand and enqueueJob. // Simple helper to execute a single command using createCommand and enqueueJob.
VcsCommand *vcsExec(const QString &workingDirectory, const QStringList &arguments, VcsCommand *vcsExec(const QString &workingDirectory, const QStringList &arguments,