forked from qt-creator/qt-creator
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:
@@ -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")
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user