summaryrefslogtreecommitdiff
path: root/src/plugins/mercurial
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2016-10-20 13:06:11 +0200
committerTobias Hunger <tobias.hunger@qt.io>2016-10-21 13:04:40 +0000
commit28325aa446e59cfc428ed48e7a29a64cfd006431 (patch)
tree58a67dbbdb31cee7178b25025c8f3022efb932d0 /src/plugins/mercurial
parent768eb4e52ecf5da9b25c05828c666d28560d735d (diff)
downloadqt-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/mercurial')
-rw-r--r--src/plugins/mercurial/mercurialclient.cpp7
-rw-r--r--src/plugins/mercurial/mercurialclient.h1
-rw-r--r--src/plugins/mercurial/mercurialcontrol.cpp5
-rw-r--r--src/plugins/mercurial/mercurialcontrol.h2
4 files changed, 15 insertions, 0 deletions
diff --git a/src/plugins/mercurial/mercurialclient.cpp b/src/plugins/mercurial/mercurialclient.cpp
index 21149bce98..06408c4bf4 100644
--- a/src/plugins/mercurial/mercurialclient.cpp
+++ b/src/plugins/mercurial/mercurialclient.cpp
@@ -33,6 +33,7 @@
#include <vcsbase/vcsbaseeditorparameterwidget.h>
#include <utils/synchronousprocess.h>
#include <utils/fileutils.h>
+#include <utils/hostosinfo.h>
#include <utils/qtcassert.h>
#include <QDateTime>
@@ -333,6 +334,12 @@ void MercurialClient::revertAll(const QString &workingDir, const QString &revisi
QStringList(extraOptions) << QLatin1String("--all"));
}
+bool MercurialClient::isVcsDirectory(const FileName &fileName) const
+{
+ return fileName.toFileInfo().isDir()
+ && fileName.fileName().compare(Constants::MERCURIALREPO, HostOsInfo::fileNameCaseSensitivity());
+}
+
void MercurialClient::view(const QString &source, const QString &id,
const QStringList &extraOptions)
{
diff --git a/src/plugins/mercurial/mercurialclient.h b/src/plugins/mercurial/mercurialclient.h
index f1dfce97ae..2692b4bfd6 100644
--- a/src/plugins/mercurial/mercurialclient.h
+++ b/src/plugins/mercurial/mercurialclient.h
@@ -70,6 +70,7 @@ public:
void revertAll(const QString &workingDir, const QString &revision = QString(),
const QStringList &extraOptions = QStringList()) override;
+ bool isVcsDirectory(const Utils::FileName &fileName) const;
QString findTopLevelForFile(const QFileInfo &file) const override;
public slots:
diff --git a/src/plugins/mercurial/mercurialcontrol.cpp b/src/plugins/mercurial/mercurialcontrol.cpp
index 3c3a42bccf..b60fd3e419 100644
--- a/src/plugins/mercurial/mercurialcontrol.cpp
+++ b/src/plugins/mercurial/mercurialcontrol.cpp
@@ -78,6 +78,11 @@ Core::Id MercurialControl::id() const
return Core::Id(VcsBase::Constants::VCS_ID_MERCURIAL);
}
+bool MercurialControl::isVcsFileOrDirectory(const Utils::FileName &fileName) const
+{
+ return mercurialClient->isVcsDirectory(fileName);
+}
+
bool MercurialControl::managesDirectory(const QString &directory, QString *topLevel) const
{
QFileInfo dir(directory);
diff --git a/src/plugins/mercurial/mercurialcontrol.h b/src/plugins/mercurial/mercurialcontrol.h
index b9bc590a4e..39917063ac 100644
--- a/src/plugins/mercurial/mercurialcontrol.h
+++ b/src/plugins/mercurial/mercurialcontrol.h
@@ -47,6 +47,8 @@ public:
QString displayName() const final;
Core::Id id() const final;
+ bool isVcsFileOrDirectory(const Utils::FileName &fileName) const final;
+
bool managesDirectory(const QString &filename, QString *topLevel = 0) const final;
bool managesFile(const QString &workingDirectory, const QString &fileName) const final;
bool isConfigured() const final;