From cbec5438b4b8f1860f4556c8426ea23c2ec22994 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Sat, 20 Jan 2024 16:59:51 +0100 Subject: [PATCH] GitClient: Change synchronousStashList() signature Get rid of unused errorMessage arg. Return the stash list directly. Change-Id: I9bf156c5ecda476a5def3c3490d6cb13d011a3cd Reviewed-by: Orgad Shaneh --- src/plugins/git/branchview.cpp | 10 ++++------ src/plugins/git/gitclient.cpp | 24 ++++++++++-------------- src/plugins/git/gitclient.h | 3 +-- src/plugins/git/stashdialog.cpp | 3 +-- 4 files changed, 16 insertions(+), 24 deletions(-) diff --git a/src/plugins/git/branchview.cpp b/src/plugins/git/branchview.cpp index 7533582014f..01ff5ce8ac4 100644 --- a/src/plugins/git/branchview.cpp +++ b/src/plugins/git/branchview.cpp @@ -399,9 +399,8 @@ bool BranchView::checkout() if (gitClient().gitStatus(m_repository, StatusMode(NoUntracked | NoSubmodules)) != GitClient::StatusChanged) branchCheckoutDialog.foundNoLocalChanges(); - QList stashes; - gitClient().synchronousStashList(m_repository, &stashes); - for (const Stash &stash : std::as_const(stashes)) { + const QList stashes = gitClient().synchronousStashList(m_repository); + for (const Stash &stash : stashes) { if (stash.message.startsWith(popMessageStart)) { branchCheckoutDialog.foundStashForNextBranch(); break; @@ -433,10 +432,9 @@ bool BranchView::checkout() if (moveChanges) { gitClient().endStashScope(m_repository); } else if (popStash) { - QList stashes; QString stashName; - gitClient().synchronousStashList(m_repository, &stashes); - for (const Stash &stash : std::as_const(stashes)) { + const QList stashes = gitClient().synchronousStashList(m_repository); + for (const Stash &stash : stashes) { if (stash.message.startsWith(popMessageStart)) { stashName = stash.name; break; diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 6bf6685ec1a..1a737a0a7ea 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -1837,12 +1837,10 @@ static QString stashNameFromMessage(const FilePath &workingDirectory, const QStr if (message.startsWith(stashNamePrefix)) return message; // Retrieve list and find via message - QList stashes; - if (!gitClient().synchronousStashList(workingDirectory, &stashes)) - return {}; - for (const Stash &s : std::as_const(stashes)) { - if (s.message == message) - return s.name; + const QList stashes = gitClient().synchronousStashList(workingDirectory); + for (const Stash &stash : stashes) { + if (stash.message == message) + return stash.name; } //: Look-up of a stash via its descriptive message failed. msgCannotRun(Tr::tr("Cannot resolve stash message \"%1\" in \"%2\".") @@ -3376,25 +3374,23 @@ static std::optional parseStashLine(const QString &l) l.mid(messagePos + 2)}; // skip blank } -bool GitClient::synchronousStashList(const FilePath &workingDirectory, QList *stashes, - QString *errorMessage) const +QList GitClient::synchronousStashList(const FilePath &workingDirectory) const { - stashes->clear(); - const QStringList arguments = {"stash", "list", noColorOption}; const CommandResult result = vcsSynchronousExec(workingDirectory, arguments, RunFlags::ForceCLocale); if (result.result() != ProcessResult::FinishedWithSuccess) { - msgCannotRun(arguments, workingDirectory, result.cleanedStdErr(), errorMessage); - return false; + msgCannotRun(arguments, workingDirectory, result.cleanedStdErr(), nullptr); + return {}; } const QStringList lines = splitLines(result.cleanedStdOut()); + QList stashes; for (const QString &line : lines) { const auto stash = parseStashLine(line); if (stash) - stashes->push_back(*stash); + stashes.push_back(*stash); } - return true; + return stashes; } // Read a single-line config value, return trimmed diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h index 3e098cd7168..3f8368c62eb 100644 --- a/src/plugins/git/gitclient.h +++ b/src/plugins/git/gitclient.h @@ -277,8 +277,7 @@ public: void stashPop(const Utils::FilePath &workingDirectory, const QString &stash = {}); void revertFiles(const QStringList &files, bool revertStaging); - bool synchronousStashList(const Utils::FilePath &workingDirectory, QList *stashes, - QString *errorMessage = nullptr) const; + QList synchronousStashList(const Utils::FilePath &workingDirectory) const; QString readGitVar(const Utils::FilePath &workingDirectory, const QString &configVar) const; QString readConfigValue(const Utils::FilePath &workingDirectory, const QString &configVar) const; diff --git a/src/plugins/git/stashdialog.cpp b/src/plugins/git/stashdialog.cpp index 680f1a172d2..6d569f6183a 100644 --- a/src/plugins/git/stashdialog.cpp +++ b/src/plugins/git/stashdialog.cpp @@ -169,8 +169,7 @@ void StashDialog::refresh(const FilePath &repository, bool force) if (m_repository.isEmpty()) { m_model->setStashes({}); } else { - QList stashes; - gitClient().synchronousStashList(m_repository, &stashes); + const QList stashes = gitClient().synchronousStashList(m_repository); m_model->setStashes(stashes); if (!stashes.isEmpty()) { for (int c = 0; c < ColumnCount; c++)