GitClient: Some minor corrections

Use GroupItem instead of ProcessTask inside topRevision().
Replace some [=] captures with more explicit ones.

Change-Id: I2e321f7121f80fd2689ecf57cd9735ba56a7962e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Jarek Kobus
2023-10-31 20:32:57 +01:00
parent 3d0832cd4a
commit 7bec91c53e
4 changed files with 20 additions and 19 deletions

View File

@@ -391,7 +391,7 @@ void BranchModel::clear()
d->rootNode->children.takeLast(); d->rootNode->children.takeLast();
d->currentSha.clear(); d->currentSha.clear();
d->currentDateTime = QDateTime(); d->currentDateTime = {};
d->currentBranch = nullptr; d->currentBranch = nullptr;
d->headNode = nullptr; d->headNode = nullptr;
d->obsoleteLocalBranches.clear(); d->obsoleteLocalBranches.clear();
@@ -410,14 +410,13 @@ void BranchModel::refresh(const FilePath &workingDirectory, ShowError showError)
return; return;
} }
const ProcessTask topRevisionProc = const GroupItem topRevisionProc = gitClient().topRevision(workingDirectory,
gitClient().topRevision(workingDirectory, [this](const QString &ref, const QDateTime &dateTime) {
[=](const QString &ref, const QDateTime &dateTime) { d->currentSha = ref;
d->currentSha = ref; d->currentDateTime = dateTime;
d->currentDateTime = dateTime; });
});
const auto setupForEachRef = [=](Process &process) { const auto setupForEachRef = [this, workingDirectory](Process &process) {
d->workingDirectory = workingDirectory; d->workingDirectory = workingDirectory;
QStringList args = {"for-each-ref", QStringList args = {"for-each-ref",
"--format=%(objectname)\t%(refname)\t%(upstream:short)\t" "--format=%(objectname)\t%(refname)\t%(upstream:short)\t"
@@ -429,7 +428,7 @@ void BranchModel::refresh(const FilePath &workingDirectory, ShowError showError)
gitClient().setupCommand(process, workingDirectory, args); gitClient().setupCommand(process, workingDirectory, args);
}; };
const auto forEachRefDone = [=](const Process &process) { const auto forEachRefDone = [this](const Process &process) {
const QString output = process.stdOut(); const QString output = process.stdOut();
const QStringList lines = output.split('\n'); const QStringList lines = output.split('\n');
for (const QString &l : lines) for (const QString &l : lines)
@@ -450,7 +449,7 @@ void BranchModel::refresh(const FilePath &workingDirectory, ShowError showError)
} }
}; };
const auto forEachRefError = [=](const Process &process) { const auto forEachRefError = [workingDirectory, showError](const Process &process) {
if (showError == ShowError::No) if (showError == ShowError::No)
return; return;
const QString message = Tr::tr("Cannot run \"%1\" in \"%2\": %3") const QString message = Tr::tr("Cannot run \"%1\" in \"%2\": %3")

View File

@@ -19,6 +19,7 @@
#include <utils/elidinglabel.h> #include <utils/elidinglabel.h>
#include <utils/fancylineedit.h> #include <utils/fancylineedit.h>
#include <utils/navigationtreeview.h> #include <utils/navigationtreeview.h>
#include <utils/process.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/stylehelper.h> #include <utils/stylehelper.h>
#include <utils/utilsicons.h> #include <utils/utilsicons.h>
@@ -546,14 +547,14 @@ TaskTree *BranchView::onFastForwardMerge(const std::function<void()> &callback)
const TreeStorage<FastForwardStorage> storage; const TreeStorage<FastForwardStorage> storage;
const auto setupMergeBase = [=](Process &process) { const auto setupMergeBase = [repository = m_repository, branch](Process &process) {
gitClient().setupCommand(process, m_repository, {"merge-base", "HEAD", branch}); gitClient().setupCommand(process, repository, {"merge-base", "HEAD", branch});
}; };
const auto onMergeBaseDone = [storage](const Process &process) { const auto onMergeBaseDone = [storage](const Process &process) {
storage->mergeBase = process.cleanedStdOut().trimmed(); storage->mergeBase = process.cleanedStdOut().trimmed();
}; };
const ProcessTask topRevisionProc = gitClient().topRevision( const GroupItem topRevisionProc = gitClient().topRevision(
m_repository, m_repository,
[storage](const QString &revision, const QDateTime &) { [storage](const QString &revision, const QDateTime &) {
storage->topRevision = revision; storage->topRevision = revision;

View File

@@ -1715,13 +1715,13 @@ bool GitClient::synchronousRevParseCmd(const FilePath &workingDirectory, const Q
} }
// Retrieve head revision // Retrieve head revision
ProcessTask GitClient::topRevision(const FilePath &workingDirectory, GroupItem GitClient::topRevision(const FilePath &workingDirectory,
const std::function<void(const QString &, const QDateTime &)> &callback) const std::function<void(const QString &, const QDateTime &)> &callback)
{ {
const auto setupProcess = [=](Process &process) { const auto setupProcess = [this, workingDirectory](Process &process) {
setupCommand(process, workingDirectory, {"show", "-s", "--pretty=format:%H:%ct", HEAD}); setupCommand(process, workingDirectory, {"show", "-s", "--pretty=format:%H:%ct", HEAD});
}; };
const auto onProcessDone = [=](const Process &process) { const auto onProcessDone = [callback](const Process &process) {
const QStringList output = process.cleanedStdOut().trimmed().split(':'); const QStringList output = process.cleanedStdOut().trimmed().split(':');
QDateTime dateTime; QDateTime dateTime;
if (output.size() > 1) { if (output.size() > 1) {

View File

@@ -9,10 +9,10 @@
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/iversioncontrol.h> #include <coreplugin/iversioncontrol.h>
#include <vcsbase/vcsbaseclient.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/process.h>
#include <vcsbase/vcsbaseclient.h>
#include <QObject> #include <QObject>
#include <QString> #include <QString>
@@ -24,6 +24,7 @@ class QMenu;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace Core { class ICore; } namespace Core { class ICore; }
namespace Tasking { class GroupItem; }
namespace DiffEditor { namespace DiffEditor {
class ChunkSelection; class ChunkSelection;
@@ -245,7 +246,7 @@ public:
QString synchronousTopic(const Utils::FilePath &workingDirectory) const; QString synchronousTopic(const Utils::FilePath &workingDirectory) const;
bool synchronousRevParseCmd(const Utils::FilePath &workingDirectory, const QString &ref, bool synchronousRevParseCmd(const Utils::FilePath &workingDirectory, const QString &ref,
QString *output, QString *errorMessage = nullptr) const; QString *output, QString *errorMessage = nullptr) const;
Utils::ProcessTask topRevision(const Utils::FilePath &workingDirectory, Tasking::GroupItem topRevision(const Utils::FilePath &workingDirectory,
const std::function<void(const QString &, const QDateTime &)> &callback); const std::function<void(const QString &, const QDateTime &)> &callback);
bool isRemoteCommit(const Utils::FilePath &workingDirectory, const QString &commit); bool isRemoteCommit(const Utils::FilePath &workingDirectory, const QString &commit);