Git: Add status limiting untracked changes

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 <orgads@gmail.com>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
This commit is contained in:
Andre Hartmann
2025-01-11 17:50:22 +01:00
committed by André Hartmann
parent 30838c43c4
commit 61d822e7f7
3 changed files with 9 additions and 0 deletions

View File

@@ -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);
}

View File

@@ -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 = {});

View File

@@ -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);