Enable usage of "_svn" as internal directory name for TortoiseSVN.

Option for  TortoiseSVN to avoid hassle with other IDEs.
This commit is contained in:
Friedemann Kleint
2009-05-26 12:25:32 +02:00
parent c358a68557
commit 85ef2954a2
2 changed files with 20 additions and 4 deletions

View File

@@ -164,11 +164,22 @@ StatusList parseStatusOutput(const QString &output)
return changeSet;
}
// Return a list of names for the internal svn directories
static inline QStringList svnDirectories()
{
QStringList rc(QLatin1String(".svn"));
#ifdef Q_OS_WIN
// Option on Windows systems to avoid hassle with some IDEs
rc.push_back(QLatin1String("_svn"));
#endif
return rc;
}
// ------------- SubversionPlugin
SubversionPlugin *SubversionPlugin::m_subversionPluginInstance = 0;
SubversionPlugin::SubversionPlugin() :
m_svnDotDirectory(QLatin1String(".svn")),
m_svnDirectories(svnDirectories()),
m_versionControl(0),
m_coreListener(0),
m_settingsPage(0),
@@ -1100,8 +1111,13 @@ bool SubversionPlugin::managesDirectory(const QString &directory) const
bool SubversionPlugin::managesDirectory(const QDir &directory) const
{
const QString svnDir = directory.absoluteFilePath(m_svnDotDirectory);
return QFileInfo(svnDir).isDir();
const int dirCount = m_svnDirectories.size();
for (int i = 0; i < dirCount; i++) {
const QString svnDir = directory.absoluteFilePath(m_svnDirectories.at(i));
if (QFileInfo(svnDir).isDir())
return true;
}
return false;
}
QString SubversionPlugin::findTopLevelForDirectory(const QString &directory) const