forked from qt-creator/qt-creator
Git: Suppress stderr output for fully synchronous executions
Broken by dcdcf54048.
Change-Id: I32f56bb432dfd3ce26397fd41908c6823cd4d7f1
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
a79df8e1e7
commit
ec2d13641b
@@ -102,6 +102,9 @@ static unsigned diffExecutionFlags()
|
|||||||
return HostOsInfo::isWindowsHost() ? unsigned(VcsBasePlugin::SuppressStdErrInLogWindow) : 0u;
|
return HostOsInfo::isWindowsHost() ? unsigned(VcsBasePlugin::SuppressStdErrInLogWindow) : 0u;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const unsigned silentFlags = unsigned(VcsBasePlugin::SuppressCommandLogging
|
||||||
|
| VcsBasePlugin::SuppressStdErrInLogWindow);
|
||||||
|
|
||||||
/////////////////////////////////////
|
/////////////////////////////////////
|
||||||
|
|
||||||
class BaseController : public DiffEditorController
|
class BaseController : public DiffEditorController
|
||||||
@@ -629,8 +632,7 @@ bool GitClient::managesFile(const QString &workingDirectory, const QString &file
|
|||||||
QByteArray output;
|
QByteArray output;
|
||||||
QStringList arguments;
|
QStringList arguments;
|
||||||
arguments << QLatin1String("ls-files") << QLatin1String("--error-unmatch") << fileName;
|
arguments << QLatin1String("ls-files") << QLatin1String("--error-unmatch") << fileName;
|
||||||
return vcsFullySynchronousExec(workingDirectory, arguments, &output, 0,
|
return vcsFullySynchronousExec(workingDirectory, arguments, &output, 0, silentFlags);
|
||||||
VcsBasePlugin::SuppressCommandLogging);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QTextCodec *GitClient::codecFor(GitClient::CodecType codecType, const QString &source) const
|
QTextCodec *GitClient::codecFor(GitClient::CodecType codecType, const QString &source) const
|
||||||
@@ -1234,7 +1236,7 @@ bool GitClient::synchronousRevListCmd(const QString &workingDirectory, const QSt
|
|||||||
args << QLatin1String(noColorOption) << arguments;
|
args << QLatin1String(noColorOption) << arguments;
|
||||||
|
|
||||||
const bool rc = vcsFullySynchronousExec(workingDirectory, args, &outputTextData, &errorText,
|
const bool rc = vcsFullySynchronousExec(workingDirectory, args, &outputTextData, &errorText,
|
||||||
VcsBasePlugin::SuppressCommandLogging);
|
silentFlags);
|
||||||
if (!rc) {
|
if (!rc) {
|
||||||
msgCannotRun(args, workingDirectory, errorText, errorMessage);
|
msgCannotRun(args, workingDirectory, errorText, errorMessage);
|
||||||
return false;
|
return false;
|
||||||
@@ -1302,8 +1304,7 @@ QString GitClient::synchronousCurrentLocalBranch(const QString &workingDirectory
|
|||||||
QByteArray outputTextData;
|
QByteArray outputTextData;
|
||||||
QStringList arguments;
|
QStringList arguments;
|
||||||
arguments << QLatin1String("symbolic-ref") << QLatin1String(HEAD);
|
arguments << QLatin1String("symbolic-ref") << QLatin1String(HEAD);
|
||||||
if (vcsFullySynchronousExec(workingDirectory, arguments, &outputTextData, 0,
|
if (vcsFullySynchronousExec(workingDirectory, arguments, &outputTextData, 0, silentFlags)) {
|
||||||
VcsBasePlugin::SuppressCommandLogging)) {
|
|
||||||
QString branch = commandOutputFromLocal8Bit(outputTextData.trimmed());
|
QString branch = commandOutputFromLocal8Bit(outputTextData.trimmed());
|
||||||
const QString refsHeadsPrefix = QLatin1String("refs/heads/");
|
const QString refsHeadsPrefix = QLatin1String("refs/heads/");
|
||||||
if (branch.startsWith(refsHeadsPrefix)) {
|
if (branch.startsWith(refsHeadsPrefix)) {
|
||||||
@@ -1323,7 +1324,7 @@ bool GitClient::synchronousHeadRefs(const QString &workingDirectory, QStringList
|
|||||||
QByteArray outputText;
|
QByteArray outputText;
|
||||||
QByteArray errorText;
|
QByteArray errorText;
|
||||||
const bool rc = vcsFullySynchronousExec(workingDirectory, args, &outputText, &errorText,
|
const bool rc = vcsFullySynchronousExec(workingDirectory, args, &outputText, &errorText,
|
||||||
VcsBasePlugin::SuppressCommandLogging);
|
silentFlags);
|
||||||
if (!rc) {
|
if (!rc) {
|
||||||
msgCannotRun(args, workingDirectory, errorText, errorMessage);
|
msgCannotRun(args, workingDirectory, errorText, errorMessage);
|
||||||
return false;
|
return false;
|
||||||
@@ -1396,7 +1397,7 @@ bool GitClient::synchronousRevParseCmd(const QString &workingDirectory, const QS
|
|||||||
QByteArray outputText;
|
QByteArray outputText;
|
||||||
QByteArray errorText;
|
QByteArray errorText;
|
||||||
const bool rc = vcsFullySynchronousExec(workingDirectory, arguments, &outputText, &errorText,
|
const bool rc = vcsFullySynchronousExec(workingDirectory, arguments, &outputText, &errorText,
|
||||||
VcsBasePlugin::SuppressCommandLogging);
|
silentFlags);
|
||||||
*output = commandOutputFromLocal8Bit(outputText.trimmed());
|
*output = commandOutputFromLocal8Bit(outputText.trimmed());
|
||||||
if (!rc)
|
if (!rc)
|
||||||
msgCannotRun(arguments, workingDirectory, errorText, errorMessage);
|
msgCannotRun(arguments, workingDirectory, errorText, errorMessage);
|
||||||
@@ -1420,8 +1421,7 @@ void GitClient::synchronousTagsForCommit(const QString &workingDirectory, const
|
|||||||
QByteArray pr;
|
QByteArray pr;
|
||||||
QStringList arguments;
|
QStringList arguments;
|
||||||
arguments << QLatin1String("describe") << QLatin1String("--contains") << revision;
|
arguments << QLatin1String("describe") << QLatin1String("--contains") << revision;
|
||||||
vcsFullySynchronousExec(workingDirectory, arguments, &pr, 0,
|
vcsFullySynchronousExec(workingDirectory, arguments, &pr, 0, silentFlags);
|
||||||
VcsBasePlugin::SuppressCommandLogging);
|
|
||||||
int tilde = pr.indexOf('~');
|
int tilde = pr.indexOf('~');
|
||||||
if (tilde != -1)
|
if (tilde != -1)
|
||||||
pr.truncate(tilde);
|
pr.truncate(tilde);
|
||||||
@@ -1437,8 +1437,7 @@ void GitClient::synchronousTagsForCommit(const QString &workingDirectory, const
|
|||||||
arguments.clear();
|
arguments.clear();
|
||||||
arguments << QLatin1String("describe") << QLatin1String("--tags")
|
arguments << QLatin1String("describe") << QLatin1String("--tags")
|
||||||
<< QLatin1String("--abbrev=0") << p;
|
<< QLatin1String("--abbrev=0") << p;
|
||||||
vcsFullySynchronousExec(workingDirectory, arguments, &pf, 0,
|
vcsFullySynchronousExec(workingDirectory, arguments, &pf, 0, silentFlags);
|
||||||
VcsBasePlugin::SuppressCommandLogging);
|
|
||||||
pf.truncate(pf.lastIndexOf('\n'));
|
pf.truncate(pf.lastIndexOf('\n'));
|
||||||
if (!pf.isEmpty()) {
|
if (!pf.isEmpty()) {
|
||||||
if (!follows.isEmpty())
|
if (!follows.isEmpty())
|
||||||
@@ -1467,8 +1466,7 @@ bool GitClient::isRemoteCommit(const QString &workingDirectory, const QString &c
|
|||||||
QByteArray outputText;
|
QByteArray outputText;
|
||||||
arguments << QLatin1String("branch") << QLatin1String("-r")
|
arguments << QLatin1String("branch") << QLatin1String("-r")
|
||||||
<< QLatin1String("--contains") << commit;
|
<< QLatin1String("--contains") << commit;
|
||||||
vcsFullySynchronousExec(workingDirectory, arguments, &outputText, 0,
|
vcsFullySynchronousExec(workingDirectory, arguments, &outputText, 0, silentFlags);
|
||||||
VcsBasePlugin::SuppressCommandLogging);
|
|
||||||
return !outputText.isEmpty();
|
return !outputText.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1477,8 +1475,7 @@ bool GitClient::isFastForwardMerge(const QString &workingDirectory, const QStrin
|
|||||||
QStringList arguments;
|
QStringList arguments;
|
||||||
QByteArray outputText;
|
QByteArray outputText;
|
||||||
arguments << QLatin1String("merge-base") << QLatin1String(HEAD) << branch;
|
arguments << QLatin1String("merge-base") << QLatin1String(HEAD) << branch;
|
||||||
vcsFullySynchronousExec(workingDirectory, arguments, &outputText, 0,
|
vcsFullySynchronousExec(workingDirectory, arguments, &outputText, 0, silentFlags);
|
||||||
VcsBasePlugin::SuppressCommandLogging);
|
|
||||||
return commandOutputFromLocal8Bit(outputText).trimmed()
|
return commandOutputFromLocal8Bit(outputText).trimmed()
|
||||||
== synchronousTopRevision(workingDirectory);
|
== synchronousTopRevision(workingDirectory);
|
||||||
}
|
}
|
||||||
@@ -1650,7 +1647,7 @@ bool GitClient::synchronousForEachRefCmd(const QString &workingDirectory, QStrin
|
|||||||
QByteArray outputText;
|
QByteArray outputText;
|
||||||
QByteArray errorText;
|
QByteArray errorText;
|
||||||
const bool rc = vcsFullySynchronousExec(workingDirectory, args, &outputText, &errorText,
|
const bool rc = vcsFullySynchronousExec(workingDirectory, args, &outputText, &errorText,
|
||||||
VcsBasePlugin::SuppressCommandLogging);
|
silentFlags);
|
||||||
*output = SynchronousProcess::normalizeNewlines(QString::fromUtf8(outputText));
|
*output = SynchronousProcess::normalizeNewlines(QString::fromUtf8(outputText));
|
||||||
if (!rc)
|
if (!rc)
|
||||||
msgCannotRun(args, workingDirectory, errorText, errorMessage);
|
msgCannotRun(args, workingDirectory, errorText, errorMessage);
|
||||||
@@ -1665,7 +1662,7 @@ bool GitClient::synchronousRemoteCmd(const QString &workingDirectory, QStringLis
|
|||||||
QByteArray outputText;
|
QByteArray outputText;
|
||||||
QByteArray errorText;
|
QByteArray errorText;
|
||||||
if (!vcsFullySynchronousExec(workingDirectory, remoteArgs, &outputText, &errorText,
|
if (!vcsFullySynchronousExec(workingDirectory, remoteArgs, &outputText, &errorText,
|
||||||
silent ? VcsBasePlugin::SuppressCommandLogging : 0)) {
|
silent ? silentFlags : 0)) {
|
||||||
msgCannotRun(remoteArgs, workingDirectory, errorText, errorMessage);
|
msgCannotRun(remoteArgs, workingDirectory, errorText, errorMessage);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -1987,8 +1984,7 @@ GitClient::StatusResult GitClient::gitStatus(const QString &workingDirectory, St
|
|||||||
statusArgs << QLatin1String("--porcelain") << QLatin1String("-b");
|
statusArgs << QLatin1String("--porcelain") << QLatin1String("-b");
|
||||||
|
|
||||||
const bool statusRc = vcsFullySynchronousExec(workingDirectory, statusArgs,
|
const bool statusRc = vcsFullySynchronousExec(workingDirectory, statusArgs,
|
||||||
&outputText, &errorText,
|
&outputText, &errorText, silentFlags);
|
||||||
VcsBasePlugin::SuppressCommandLogging);
|
|
||||||
if (output)
|
if (output)
|
||||||
*output = commandOutputFromLocal8Bit(outputText);
|
*output = commandOutputFromLocal8Bit(outputText);
|
||||||
|
|
||||||
@@ -2337,8 +2333,7 @@ bool GitClient::readDataFromCommit(const QString &repoDirectory, const QString &
|
|||||||
args << QLatin1String("--max-count=1") << QLatin1String("--pretty=format:%h\n%an\n%ae\n%B");
|
args << QLatin1String("--max-count=1") << QLatin1String("--pretty=format:%h\n%an\n%ae\n%B");
|
||||||
args << commit;
|
args << commit;
|
||||||
QByteArray outputText;
|
QByteArray outputText;
|
||||||
if (!vcsFullySynchronousExec(repoDirectory, args, &outputText, 0,
|
if (!vcsFullySynchronousExec(repoDirectory, args, &outputText, 0, silentFlags)) {
|
||||||
VcsBasePlugin::SuppressCommandLogging)) {
|
|
||||||
if (errorMessage)
|
if (errorMessage)
|
||||||
*errorMessage = tr("Cannot retrieve last commit data of repository \"%1\".").arg(repoDirectory);
|
*errorMessage = tr("Cannot retrieve last commit data of repository \"%1\".").arg(repoDirectory);
|
||||||
return false;
|
return false;
|
||||||
@@ -3067,8 +3062,7 @@ QString GitClient::readConfigValue(const QString &workingDirectory, const QStrin
|
|||||||
arguments << QLatin1String("config") << configVar;
|
arguments << QLatin1String("config") << configVar;
|
||||||
|
|
||||||
QByteArray outputText;
|
QByteArray outputText;
|
||||||
if (!vcsFullySynchronousExec(workingDirectory, arguments, &outputText, 0,
|
if (!vcsFullySynchronousExec(workingDirectory, arguments, &outputText, 0, silentFlags))
|
||||||
VcsBasePlugin::SuppressCommandLogging))
|
|
||||||
return QString();
|
return QString();
|
||||||
if (HostOsInfo::isWindowsHost())
|
if (HostOsInfo::isWindowsHost())
|
||||||
outputText.replace("\r\n", "\n");
|
outputText.replace("\r\n", "\n");
|
||||||
@@ -3148,8 +3142,7 @@ unsigned GitClient::synchronousGitVersion(QString *errorMessage) const
|
|||||||
QByteArray outputText;
|
QByteArray outputText;
|
||||||
QByteArray errorText;
|
QByteArray errorText;
|
||||||
const bool rc = vcsFullySynchronousExec(QString(), QStringList(QLatin1String("--version")),
|
const bool rc = vcsFullySynchronousExec(QString(), QStringList(QLatin1String("--version")),
|
||||||
&outputText, &errorText,
|
&outputText, &errorText, silentFlags);
|
||||||
VcsBasePlugin::SuppressCommandLogging);
|
|
||||||
if (!rc) {
|
if (!rc) {
|
||||||
msgCannotRun(tr("Cannot determine Git version: %1")
|
msgCannotRun(tr("Cannot determine Git version: %1")
|
||||||
.arg(commandOutputFromLocal8Bit(errorText)),
|
.arg(commandOutputFromLocal8Bit(errorText)),
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ bool VcsBaseClientImpl::vcsFullySynchronousExec(const QString &workingDir, const
|
|||||||
command->addFlags(flags);
|
command->addFlags(flags);
|
||||||
bool result = command->runFullySynchronous(args, vcsTimeoutS(), outputData,
|
bool result = command->runFullySynchronous(args, vcsTimeoutS(), outputData,
|
||||||
errorData ? errorData : &internalErrorData);
|
errorData ? errorData : &internalErrorData);
|
||||||
if (!internalErrorData.isEmpty())
|
if (!internalErrorData.isEmpty() && !(flags & VcsBasePlugin::SuppressStdErrInLogWindow))
|
||||||
VcsOutputWindow::appendError(commandOutputFromLocal8Bit(internalErrorData));
|
VcsOutputWindow::appendError(commandOutputFromLocal8Bit(internalErrorData));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user