forked from qt-creator/qt-creator
GitUtils: Get rid of unused Stash::clear() method
Make parseStashLine() a local static method returning optional Stash. Change-Id: If702a4485ce87336ab829b522258e62a930589bf Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -3357,6 +3357,31 @@ bool GitClient::synchronousStashRemove(const FilePath &workingDirectory, const Q
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Parse a stash line in its 2 manifestations (with message/without message containing
|
||||||
|
* <base_sha1>+subject):
|
||||||
|
\code
|
||||||
|
stash@{1}: WIP on <branch>: <base_sha1> <subject_base_sha1>
|
||||||
|
stash@{2}: On <branch>: <message>
|
||||||
|
\endcode */
|
||||||
|
|
||||||
|
static std::optional<Stash> parseStashLine(const QString &l)
|
||||||
|
{
|
||||||
|
const QChar colon = ':';
|
||||||
|
const int branchPos = l.indexOf(colon);
|
||||||
|
if (branchPos < 0)
|
||||||
|
return {};
|
||||||
|
const int messagePos = l.indexOf(colon, branchPos + 1);
|
||||||
|
if (messagePos < 0)
|
||||||
|
return {};
|
||||||
|
// Branch spec
|
||||||
|
const int onIndex = l.indexOf("on ", branchPos + 2, Qt::CaseInsensitive);
|
||||||
|
if (onIndex == -1 || onIndex >= messagePos)
|
||||||
|
return {};
|
||||||
|
return Stash{l.left(branchPos),
|
||||||
|
l.mid(onIndex + 3, messagePos - onIndex - 3),
|
||||||
|
l.mid(messagePos + 2)}; // skip blank
|
||||||
|
}
|
||||||
|
|
||||||
bool GitClient::synchronousStashList(const FilePath &workingDirectory, QList<Stash> *stashes,
|
bool GitClient::synchronousStashList(const FilePath &workingDirectory, QList<Stash> *stashes,
|
||||||
QString *errorMessage) const
|
QString *errorMessage) const
|
||||||
{
|
{
|
||||||
@@ -3369,11 +3394,11 @@ bool GitClient::synchronousStashList(const FilePath &workingDirectory, QList<Sta
|
|||||||
msgCannotRun(arguments, workingDirectory, result.cleanedStdErr(), errorMessage);
|
msgCannotRun(arguments, workingDirectory, result.cleanedStdErr(), errorMessage);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
Stash stash;
|
|
||||||
const QStringList lines = splitLines(result.cleanedStdOut());
|
const QStringList lines = splitLines(result.cleanedStdOut());
|
||||||
for (const QString &line : lines) {
|
for (const QString &line : lines) {
|
||||||
if (stash.parseStashLine(line))
|
const auto stash = parseStashLine(line);
|
||||||
stashes->push_back(stash);
|
if (stash)
|
||||||
|
stashes->push_back(*stash);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@@ -8,40 +8,6 @@
|
|||||||
|
|
||||||
namespace Git::Internal {
|
namespace Git::Internal {
|
||||||
|
|
||||||
void Stash::clear()
|
|
||||||
{
|
|
||||||
name.clear();
|
|
||||||
branch.clear();
|
|
||||||
message.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Parse a stash line in its 2 manifestations (with message/without message containing
|
|
||||||
* <base_sha1>+subject):
|
|
||||||
\code
|
|
||||||
stash@{1}: WIP on <branch>: <base_sha1> <subject_base_sha1>
|
|
||||||
stash@{2}: On <branch>: <message>
|
|
||||||
\endcode */
|
|
||||||
|
|
||||||
bool Stash::parseStashLine(const QString &l)
|
|
||||||
{
|
|
||||||
const QChar colon = ':';
|
|
||||||
const int branchPos = l.indexOf(colon);
|
|
||||||
if (branchPos < 0)
|
|
||||||
return false;
|
|
||||||
const int messagePos = l.indexOf(colon, branchPos + 1);
|
|
||||||
if (messagePos < 0)
|
|
||||||
return false;
|
|
||||||
// Branch spec
|
|
||||||
const int onIndex = l.indexOf("on ", branchPos + 2, Qt::CaseInsensitive);
|
|
||||||
if (onIndex == -1 || onIndex >= messagePos)
|
|
||||||
return false;
|
|
||||||
// Happy!
|
|
||||||
name = l.left(branchPos);
|
|
||||||
branch = l.mid(onIndex + 3, messagePos - onIndex - 3);
|
|
||||||
message = l.mid(messagePos + 2); // skip blank
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make QInputDialog play nicely, widen it a bit.
|
// Make QInputDialog play nicely, widen it a bit.
|
||||||
bool inputText(QWidget *parent, const QString &title, const QString &prompt, QString *s)
|
bool inputText(QWidget *parent, const QString &title, const QString &prompt, QString *s)
|
||||||
{
|
{
|
||||||
|
@@ -14,9 +14,6 @@ namespace Git::Internal {
|
|||||||
class Stash
|
class Stash
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void clear();
|
|
||||||
bool parseStashLine(const QString &l);
|
|
||||||
|
|
||||||
QString name;
|
QString name;
|
||||||
QString branch;
|
QString branch;
|
||||||
QString message;
|
QString message;
|
||||||
|
@@ -167,7 +167,7 @@ void StashDialog::refresh(const FilePath &repository, bool force)
|
|||||||
m_repository = repository;
|
m_repository = repository;
|
||||||
m_repositoryLabel->setText(msgRepositoryLabel(repository));
|
m_repositoryLabel->setText(msgRepositoryLabel(repository));
|
||||||
if (m_repository.isEmpty()) {
|
if (m_repository.isEmpty()) {
|
||||||
m_model->setStashes(QList<Stash>());
|
m_model->setStashes({});
|
||||||
} else {
|
} else {
|
||||||
QList<Stash> stashes;
|
QList<Stash> stashes;
|
||||||
gitClient().synchronousStashList(m_repository, &stashes);
|
gitClient().synchronousStashList(m_repository, &stashes);
|
||||||
|
Reference in New Issue
Block a user