VCS: Add a way to filter out files/directories that belong to a VCS

Change-Id: I4dcbe6242cfe327e3b72d3dd550309be45e326a9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Tobias Hunger
2016-10-20 13:06:11 +02:00
parent 768eb4e52e
commit 28325aa446
21 changed files with 97 additions and 0 deletions

View File

@@ -32,6 +32,8 @@
#include <vcsbase/vcsoutputwindow.h>
#include <vcsbase/vcsbaseeditorparameterwidget.h>
#include <utils/hostosinfo.h>
#include <QDir>
#include <QFileInfo>
#include <QTextStream>
@@ -171,6 +173,12 @@ VcsBaseEditorWidget *BazaarClient::annotate(
QStringList(extraOptions) << QLatin1String("--long"));
}
bool BazaarClient::isVcsDirectory(const FileName &fileName) const
{
return fileName.toFileInfo().isDir()
&& fileName.fileName().compare(Constants::BAZAARREPO, HostOsInfo::fileNameCaseSensitivity());
}
QString BazaarClient::findTopLevelForFile(const QFileInfo &file) const
{
const QString repositoryCheckFile =

View File

@@ -52,6 +52,7 @@ public:
VcsBase::VcsBaseEditorWidget *annotate(
const QString &workingDir, const QString &file, const QString &revision = QString(),
int lineNumber = -1, const QStringList &extraOptions = QStringList());
bool isVcsDirectory(const Utils::FileName &fileName) const;
QString findTopLevelForFile(const QFileInfo &file) const;
bool managesFile(const QString &workingDirectory, const QString &fileName) const;

View File

@@ -52,6 +52,11 @@ Core::Id BazaarControl::id() const
return Core::Id(VcsBase::Constants::VCS_ID_BAZAAR);
}
bool BazaarControl::isVcsFileOrDirectory(const Utils::FileName &fileName) const
{
return m_bazaarClient->isVcsDirectory(fileName);
}
bool BazaarControl::managesDirectory(const QString &directory, QString *topLevel) const
{
QFileInfo dir(directory);

View File

@@ -48,6 +48,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;