Git: Make git show more async

git describe --tags can take very long when there are many tags.

Run all the describe commands in parallel, and let the user work while
they are running.

Change-Id: Iee56a5d51f93e9c799521bb0b06ba08bb45cb237
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
This commit is contained in:
Orgad Shaneh
2022-05-09 18:17:24 +03:00
committed by Orgad Shaneh
parent 5d14d127d7
commit 78b08f57a2
2 changed files with 75 additions and 56 deletions

View File

@@ -266,8 +266,6 @@ public:
bool synchronousRevParseCmd(const Utils::FilePath &workingDirectory, const QString &ref,
QString *output, QString *errorMessage = nullptr) const;
QString synchronousTopRevision(const Utils::FilePath &workingDirectory, QDateTime *dateTime = nullptr);
void synchronousTagsForCommit(const Utils::FilePath &workingDirectory, const QString &revision,
QString &precedes, QString &follows) const;
bool isRemoteCommit(const Utils::FilePath &workingDirectory, const QString &commit);
bool isFastForwardMerge(const Utils::FilePath &workingDirectory, const QString &branch);
@@ -332,8 +330,6 @@ public:
void continueCommandIfNeeded(const Utils::FilePath &workingDirectory, bool allowContinue = true);
QString extendedShowDescription(const Utils::FilePath &workingDirectory, const QString &text) const;
void launchGitK(const Utils::FilePath &workingDirectory, const QString &fileName) const;
void launchGitK(const Utils::FilePath &workingDirectory) const { launchGitK(workingDirectory, QString()); }
bool launchGitGui(const Utils::FilePath &workingDirectory);