ShellCommand: Allow setting working directory per job

Change-Id: I6d541f87b76bdc7f1503f202792079f833e8932c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Tobias Hunger
2015-06-08 15:04:04 +02:00
parent ccbc7f9ec1
commit f2be797696
6 changed files with 56 additions and 30 deletions

View File

@@ -155,9 +155,10 @@ VcsCommand *VcsBaseClientImpl::createCommand(const QString &workingDirectory,
}
void VcsBaseClientImpl::enqueueJob(VcsCommand *cmd, const QStringList &args,
const QString &workingDirectory,
Utils::ExitCodeInterpreter *interpreter)
{
cmd->addJob(vcsBinary(), args, vcsTimeoutS(), interpreter);
cmd->addJob(vcsBinary(), args, vcsTimeoutS(), workingDirectory, interpreter);
cmd->execute();
}
@@ -470,7 +471,7 @@ void VcsBaseClient::diff(const QString &workingDir, const QStringList &files,
QTextCodec *codec = source.isEmpty() ? static_cast<QTextCodec *>(0) : VcsBaseEditor::getCodec(source);
VcsCommand *command = createCommand(workingDir, editor);
command->setCodec(codec);
enqueueJob(command, args, exitCodeInterpreter(DiffCommand, command));
enqueueJob(command, args, workingDir, exitCodeInterpreter(DiffCommand, command));
}
void VcsBaseClient::log(const QString &workingDir, const QStringList &files,