From 61d822e7f7b65a218abfd7422a51d56d702e812d Mon Sep 17 00:00:00 2001 From: Andre Hartmann Date: Sat, 11 Jan 2025 17:50:22 +0100 Subject: [PATCH] Git: Add status limiting untracked changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sometimes `git status -u` can be too verbose. Often we simply want to show untracked files within tracked directories, but sometimes a full list might be benefical. Add a separate action to support both use cases. Fixes: QTCREATORBUG-32301 Change-Id: Ie23457d92145957c499b732b080632daeb43badc Reviewed-by: Orgad Shaneh Reviewed-by: Robert Löhning --- src/plugins/git/gitclient.cpp | 5 +++++ src/plugins/git/gitclient.h | 1 + src/plugins/git/gitplugin.cpp | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index aa9823d8bd0..d2a0bc63824 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -1094,6 +1094,11 @@ void GitClient::merge(const FilePath &workingDirectory, const QStringList &unmer } void GitClient::status(const FilePath &workingDirectory) const +{ + vcsExec(workingDirectory, {"status"}, RunFlags::ShowStdOut); +} + +void GitClient::fullStatus(const FilePath &workingDirectory) const { vcsExec(workingDirectory, {"status", "-u"}, RunFlags::ShowStdOut); } diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h index ca2ed56d78d..c1171deb94b 100644 --- a/src/plugins/git/gitclient.h +++ b/src/plugins/git/gitclient.h @@ -163,6 +163,7 @@ public: void merge(const Utils::FilePath &workingDirectory, const QStringList &unmergedFileNames = {}); void status(const Utils::FilePath &workingDirectory) const; + void fullStatus(const Utils::FilePath &workingDirectory) const; void log(const Utils::FilePath &workingDirectory, const QString &fileName = {}, bool enableAnnotationContextMenu = false, const QStringList &args = {}); void reflog(const Utils::FilePath &workingDirectory, const QString &branch = {}); diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index 2b183b170de..106f4a32cc0 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -677,6 +677,9 @@ GitPluginPrivate::GitPluginPrivate() createRepositoryAction(localRepositoryMenu, "Status", "Git.StatusRepository", context, true, &GitClient::status); + createRepositoryAction(localRepositoryMenu, "Status (Include all untracked)", "Git.FullStatusRepository", + context, true, &GitClient::fullStatus); + // -------------- localRepositoryMenu->addSeparator(context);