diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2016-10-20 13:06:11 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2016-10-21 13:04:40 +0000 |
commit | 28325aa446e59cfc428ed48e7a29a64cfd006431 (patch) | |
tree | 58a67dbbdb31cee7178b25025c8f3022efb932d0 /src/plugins/subversion | |
parent | 768eb4e52ecf5da9b25c05828c666d28560d735d (diff) | |
download | qt-creator-28325aa446e59cfc428ed48e7a29a64cfd006431.tar.gz |
VCS: Add a way to filter out files/directories that belong to a VCS
Change-Id: I4dcbe6242cfe327e3b72d3dd550309be45e326a9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/subversion')
-rw-r--r-- | src/plugins/subversion/subversioncontrol.cpp | 5 | ||||
-rw-r--r-- | src/plugins/subversion/subversioncontrol.h | 1 | ||||
-rw-r--r-- | src/plugins/subversion/subversionplugin.cpp | 10 | ||||
-rw-r--r-- | src/plugins/subversion/subversionplugin.h | 2 |
4 files changed, 18 insertions, 0 deletions
diff --git a/src/plugins/subversion/subversioncontrol.cpp b/src/plugins/subversion/subversioncontrol.cpp index c8de2421b7..e7265534ea 100644 --- a/src/plugins/subversion/subversioncontrol.cpp +++ b/src/plugins/subversion/subversioncontrol.cpp @@ -77,6 +77,11 @@ Core::Id SubversionControl::id() const return Core::Id(VcsBase::Constants::VCS_ID_SUBVERSION); } +bool SubversionControl::isVcsFileOrDirectory(const Utils::FileName &fileName) const +{ + return m_plugin->isVcsDirectory(fileName); +} + bool SubversionControl::isConfigured() const { const Utils::FileName binary = m_plugin->client()->vcsBinary(); diff --git a/src/plugins/subversion/subversioncontrol.h b/src/plugins/subversion/subversioncontrol.h index 3fa0c35e1d..8e63be6427 100644 --- a/src/plugins/subversion/subversioncontrol.h +++ b/src/plugins/subversion/subversioncontrol.h @@ -40,6 +40,7 @@ public: explicit SubversionControl(SubversionPlugin *plugin); QString displayName() const final; Core::Id id() const final; + bool isVcsFileOrDirectory(const Utils::FileName &fileName) const final; bool managesDirectory(const QString &directory, QString *topLevel = 0) const final; bool managesFile(const QString &workingDirectory, const QString &fileName) const final; diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index d52f10aa8a..8998303afa 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -54,6 +54,7 @@ #include <coreplugin/locator/commandlocator.h> #include <coreplugin/messagemanager.h> +#include <utils/algorithm.h> #include <utils/fileutils.h> #include <utils/hostosinfo.h> #include <utils/mimetypes/mimedatabase.h> @@ -408,6 +409,15 @@ bool SubversionPlugin::initialize(const QStringList & /*arguments */, QString *e return true; } +bool SubversionPlugin::isVcsDirectory(const FileName &fileName) +{ + const QString baseName = fileName.fileName(); + return fileName.toFileInfo().isDir() + && contains(m_svnDirectories, [baseName](const QString &s) { + return baseName.compare(s, HostOsInfo::fileNameCaseSensitivity()); + }); +} + SubversionClient *SubversionPlugin::client() const { QTC_CHECK(m_client); diff --git a/src/plugins/subversion/subversionplugin.h b/src/plugins/subversion/subversionplugin.h index da05a072a5..3c614eeb7c 100644 --- a/src/plugins/subversion/subversionplugin.h +++ b/src/plugins/subversion/subversionplugin.h @@ -73,6 +73,8 @@ public: bool initialize(const QStringList &arguments, QString *errorMessage); + bool isVcsDirectory(const Utils::FileName &fileName); + SubversionClient *client() const; SubversionSubmitEditor *openSubversionSubmitEditor(const QString &fileName); |