FossilClient: De-noise

Change-Id: I9129d1e542073c2454ed1758af1b8dfc06ba0e1a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Orgad Shaneh
2019-05-13 23:40:00 +03:00
committed by Orgad Shaneh
parent a1c0d912b2
commit adf0b8f87f

View File

@@ -51,6 +51,8 @@
#include <QMap> #include <QMap>
#include <QRegularExpression> #include <QRegularExpression>
using namespace Utils;
namespace Fossil { namespace Fossil {
namespace Internal { namespace Internal {
@@ -68,7 +70,7 @@ public:
VcsBase::VcsBaseClientSettings &settings = client->settings(); VcsBase::VcsBaseClientSettings &settings = client->settings();
FossilClient::SupportedFeatures features = client->supportedFeatures(); FossilClient::SupportedFeatures features = client->supportedFeatures();
addButton(tr("Reload"), Utils::Icons::RELOAD.icon()); addButton(tr("Reload"), Icons::RELOAD.icon());
if (features.testFlag(FossilClient::DiffIgnoreWhiteSpaceFeature)) { if (features.testFlag(FossilClient::DiffIgnoreWhiteSpaceFeature)) {
mapSetting(addToggleButton("-w", tr("Ignore All Whitespace")), mapSetting(addToggleButton("-w", tr("Ignore All Whitespace")),
settings.boolPointer(FossilSettings::diffIgnoreAllWhiteSpaceKey)); settings.boolPointer(FossilSettings::diffIgnoreAllWhiteSpaceKey));
@@ -116,7 +118,7 @@ public:
{ {
QTC_ASSERT(client, return); QTC_ASSERT(client, return);
addButton(tr("Reload"), Utils::Icons::RELOAD.icon()); addButton(tr("Reload"), Icons::RELOAD.icon());
} }
}; };
@@ -132,7 +134,7 @@ public:
{ {
QTC_ASSERT(client, return); QTC_ASSERT(client, return);
addButton(tr("Reload"), Utils::Icons::RELOAD.icon()); addButton(tr("Reload"), Icons::RELOAD.icon());
addLineageComboBox(); addLineageComboBox();
addVerboseToggleButton(); addVerboseToggleButton();
addItemTypeComboBox(); addItemTypeComboBox();
@@ -256,8 +258,8 @@ unsigned int FossilClient::synchronousBinaryVersion() const
QStringList args("version"); QStringList args("version");
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(QString(), args); const SynchronousProcessResponse response = vcsFullySynchronousExec(QString(), args);
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return 0; return 0;
QString output = response.stdOut(); QString output = response.stdOut();
@@ -294,8 +296,8 @@ BranchInfo FossilClient::synchronousCurrentBranch(const QString &workingDirector
return BranchInfo(); return BranchInfo();
// First try to get the current branch from the list of open branches // First try to get the current branch from the list of open branches
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, {"branch", "list"}); const SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, {"branch", "list"});
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return BranchInfo(); return BranchInfo();
const QString output = sanitizeFossilOutput(response.stdOut()); const QString output = sanitizeFossilOutput(response.stdOut());
@@ -305,8 +307,8 @@ BranchInfo FossilClient::synchronousCurrentBranch(const QString &workingDirector
if (!currentBranch.isCurrent()) { if (!currentBranch.isCurrent()) {
// If not available from open branches, request it from the list of closed branches. // If not available from open branches, request it from the list of closed branches.
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, {"branch", "list", "--closed"}); const SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, {"branch", "list", "--closed"});
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return BranchInfo(); return BranchInfo();
const QString output = sanitizeFossilOutput(response.stdOut()); const QString output = sanitizeFossilOutput(response.stdOut());
@@ -327,8 +329,8 @@ QList<BranchInfo> FossilClient::synchronousBranchQuery(const QString &workingDir
return QList<BranchInfo>(); return QList<BranchInfo>();
// First get list of open branches // First get list of open branches
Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, {"branch", "list"}); SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, {"branch", "list"});
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return QList<BranchInfo>(); return QList<BranchInfo>();
QString output = sanitizeFossilOutput(response.stdOut()); QString output = sanitizeFossilOutput(response.stdOut());
@@ -336,7 +338,7 @@ QList<BranchInfo> FossilClient::synchronousBranchQuery(const QString &workingDir
// Append a list of closed branches. // Append a list of closed branches.
response = vcsFullySynchronousExec(workingDirectory, {"branch", "list", "--closed"}); response = vcsFullySynchronousExec(workingDirectory, {"branch", "list", "--closed"});
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return QList<BranchInfo>(); return QList<BranchInfo>();
output = sanitizeFossilOutput(response.stdOut()); output = sanitizeFossilOutput(response.stdOut());
@@ -374,9 +376,9 @@ RevisionInfo FossilClient::synchronousRevisionQuery(const QString &workingDirect
if (!id.isEmpty()) if (!id.isEmpty())
args << id; args << id;
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec( const SynchronousProcessResponse response = vcsFullySynchronousExec(
workingDirectory, args, Utils::ShellCommand::SuppressCommandLogging); workingDirectory, args, ShellCommand::SuppressCommandLogging);
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return RevisionInfo(); return RevisionInfo();
const QString output = sanitizeFossilOutput(response.stdOut()); const QString output = sanitizeFossilOutput(response.stdOut());
@@ -436,8 +438,8 @@ QStringList FossilClient::synchronousTagQuery(const QString &workingDirectory, c
if (!id.isEmpty()) if (!id.isEmpty())
args << id; args << id;
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args); const SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args);
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return QStringList(); return QStringList();
const QString output = sanitizeFossilOutput(response.stdOut()); const QString output = sanitizeFossilOutput(response.stdOut());
@@ -458,8 +460,8 @@ RepositorySettings FossilClient::synchronousSettingsQuery(const QString &working
const QStringList args("settings"); const QStringList args("settings");
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args); const SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args);
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return RepositorySettings(); return RepositorySettings();
const QString output = sanitizeFossilOutput(response.stdOut()); const QString output = sanitizeFossilOutput(response.stdOut());
@@ -512,8 +514,8 @@ bool FossilClient::synchronousSetSetting(const QString &workingDirectory,
if (isGlobal) if (isGlobal)
args << "--global"; args << "--global";
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args); const SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args);
return (response.result == Utils::SynchronousProcessResponse::Finished); return (response.result == SynchronousProcessResponse::Finished);
} }
@@ -568,8 +570,8 @@ QString FossilClient::synchronousUserDefaultQuery(const QString &workingDirector
const QStringList args({"user", "default"}); const QStringList args({"user", "default"});
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args); const SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args);
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return QString(); return QString();
QString output = sanitizeFossilOutput(response.stdOut()); QString output = sanitizeFossilOutput(response.stdOut());
@@ -584,8 +586,8 @@ bool FossilClient::synchronousSetUserDefault(const QString &workingDirectory, co
// set repository-default user // set repository-default user
const QStringList args({"user", "default", userName, "--user", userName}); const QStringList args({"user", "default", userName, "--user", userName});
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args); const SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args);
return (response.result == Utils::SynchronousProcessResponse::Finished); return (response.result == SynchronousProcessResponse::Finished);
} }
QString FossilClient::synchronousGetRepositoryURL(const QString &workingDirectory) QString FossilClient::synchronousGetRepositoryURL(const QString &workingDirectory)
@@ -595,8 +597,8 @@ QString FossilClient::synchronousGetRepositoryURL(const QString &workingDirector
const QStringList args("remote-url"); const QStringList args("remote-url");
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args); const SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args);
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return QString(); return QString();
QString output = sanitizeFossilOutput(response.stdOut()); QString output = sanitizeFossilOutput(response.stdOut());
@@ -641,15 +643,15 @@ bool FossilClient::synchronousCreateRepository(const QString &workingDirectory,
// @TODO: handle spaces in the path // @TODO: handle spaces in the path
// @TODO: what about --template options? // @TODO: what about --template options?
const Utils::FileName fullRepoName = Utils::FileName::fromStringWithExtension(repoName, Constants::FOSSIL_FILE_SUFFIX); const FileName fullRepoName = FileName::fromStringWithExtension(repoName, Constants::FOSSIL_FILE_SUFFIX);
const Utils::FileName repoFilePath = Utils::FileName::fromString(repoPath) const FileName repoFilePath = FileName::fromString(repoPath)
.appendPath(fullRepoName.toString()); .appendPath(fullRepoName.toString());
QStringList args(vcsCommandString(CreateRepositoryCommand)); QStringList args(vcsCommandString(CreateRepositoryCommand));
if (!adminUser.isEmpty()) if (!adminUser.isEmpty())
args << "--admin-user" << adminUser; args << "--admin-user" << adminUser;
args << extraOptions << repoFilePath.toUserOutput(); args << extraOptions << repoFilePath.toUserOutput();
Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args); SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args);
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return false; return false;
QString output = sanitizeFossilOutput(response.stdOut()); QString output = sanitizeFossilOutput(response.stdOut());
@@ -663,7 +665,7 @@ bool FossilClient::synchronousCreateRepository(const QString &workingDirectory,
args << "open" << repoFilePath.toUserOutput(); args << "open" << repoFilePath.toUserOutput();
response = vcsFullySynchronousExec(workingDirectory, args); response = vcsFullySynchronousExec(workingDirectory, args);
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return false; return false;
output = sanitizeFossilOutput(response.stdOut()); output = sanitizeFossilOutput(response.stdOut());
@@ -678,7 +680,7 @@ bool FossilClient::synchronousCreateRepository(const QString &workingDirectory,
args << "user" << "default" << adminUser << "--user" << adminUser; args << "user" << "default" << adminUser << "--user" << adminUser;
response = vcsFullySynchronousExec(workingDirectory, args); response = vcsFullySynchronousExec(workingDirectory, args);
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return false; return false;
QString output = sanitizeFossilOutput(response.stdOut()); QString output = sanitizeFossilOutput(response.stdOut());
@@ -703,8 +705,8 @@ bool FossilClient::synchronousMove(const QString &workingDir,
QStringList args(vcsCommandString(MoveCommand)); QStringList args(vcsCommandString(MoveCommand));
args << extraOptions << from << to; args << extraOptions << from << to;
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDir, args); const SynchronousProcessResponse response = vcsFullySynchronousExec(workingDir, args);
return (response.result == Utils::SynchronousProcessResponse::Finished); return (response.result == SynchronousProcessResponse::Finished);
} }
bool FossilClient::synchronousPull(const QString &workingDir, const QString &srcLocation, const QStringList &extraOptions) bool FossilClient::synchronousPull(const QString &workingDir, const QString &srcLocation, const QStringList &extraOptions)
@@ -720,8 +722,8 @@ bool FossilClient::synchronousPull(const QString &workingDir, const QString &src
VcsBase::VcsCommand::SshPasswordPrompt VcsBase::VcsCommand::SshPasswordPrompt
| VcsBase::VcsCommand::ShowStdOut | VcsBase::VcsCommand::ShowStdOut
| VcsBase::VcsCommand::ShowSuccessMessage; | VcsBase::VcsCommand::ShowSuccessMessage;
const Utils::SynchronousProcessResponse resp = vcsSynchronousExec(workingDir, args, flags); const SynchronousProcessResponse resp = vcsSynchronousExec(workingDir, args, flags);
const bool success = (resp.result == Utils::SynchronousProcessResponse::Finished); const bool success = (resp.result == SynchronousProcessResponse::Finished);
if (success) if (success)
emit changed(QVariant(workingDir)); emit changed(QVariant(workingDir));
return success; return success;
@@ -740,8 +742,8 @@ bool FossilClient::synchronousPush(const QString &workingDir, const QString &dst
VcsBase::VcsCommand::SshPasswordPrompt VcsBase::VcsCommand::SshPasswordPrompt
| VcsBase::VcsCommand::ShowStdOut | VcsBase::VcsCommand::ShowStdOut
| VcsBase::VcsCommand::ShowSuccessMessage; | VcsBase::VcsCommand::ShowSuccessMessage;
const Utils::SynchronousProcessResponse resp = vcsSynchronousExec(workingDir, args, flags); const SynchronousProcessResponse resp = vcsSynchronousExec(workingDir, args, flags);
return (resp.result == Utils::SynchronousProcessResponse::Finished); return (resp.result == SynchronousProcessResponse::Finished);
} }
void FossilClient::commit(const QString &repositoryRoot, const QStringList &files, void FossilClient::commit(const QString &repositoryRoot, const QStringList &files,
@@ -812,12 +814,12 @@ VcsBase::VcsBaseEditorWidget *FossilClient::annotate(
return fossilEditor; return fossilEditor;
} }
bool FossilClient::isVcsFileOrDirectory(const Utils::FileName &fileName) const bool FossilClient::isVcsFileOrDirectory(const FileName &fileName) const
{ {
// false for any dir or file other than fossil checkout db-file // false for any dir or file other than fossil checkout db-file
return fileName.toFileInfo().isFile() return fileName.toFileInfo().isFile()
&& !fileName.fileName().compare(Constants::FOSSILREPO, && !fileName.fileName().compare(Constants::FOSSILREPO,
Utils::HostOsInfo::fileNameCaseSensitivity()); HostOsInfo::fileNameCaseSensitivity());
} }
QString FossilClient::findTopLevelForFile(const QFileInfo &file) const QString FossilClient::findTopLevelForFile(const QFileInfo &file) const
@@ -833,8 +835,8 @@ QString FossilClient::findTopLevelForFile(const QFileInfo &file) const
bool FossilClient::managesFile(const QString &workingDirectory, const QString &fileName) const bool FossilClient::managesFile(const QString &workingDirectory, const QString &fileName) const
{ {
const QStringList args({"finfo", fileName}); const QStringList args({"finfo", fileName});
const Utils::SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args); const SynchronousProcessResponse response = vcsFullySynchronousExec(workingDirectory, args);
if (response.result != Utils::SynchronousProcessResponse::Finished) if (response.result != SynchronousProcessResponse::Finished)
return false; return false;
QString output = sanitizeFossilOutput(response.stdOut()); QString output = sanitizeFossilOutput(response.stdOut());
return !output.startsWith("no history for file", Qt::CaseInsensitive); return !output.startsWith("no history for file", Qt::CaseInsensitive);