VCS[Subversion/Perforce]: Fix VCSManager caching (Windows).

Ensure clean paths are returned by
IVersionControl::findTopLevelForDirectory() as otherwise caching
of VCSManager breaks (Windows) and commands are executed all over
again. Fix display in SVN/CVS.

Acked-by: con
This commit is contained in:
Friedemann Kleint
2010-05-20 14:52:08 +02:00
parent 4ed4535a52
commit 6383643d32
3 changed files with 7 additions and 4 deletions

View File

@@ -1030,7 +1030,8 @@ static inline QString msgExecutionLogEntry(const QString &workingDir, const QStr
const QString argsS = SubversionSettings::formatArguments(arguments);
if (workingDir.isEmpty())
return SubversionPlugin::tr("Executing: %1 %2\n").arg(executable, argsS);
return SubversionPlugin::tr("Executing in %1: %2 %3\n").arg(workingDir, executable, argsS);
return SubversionPlugin::tr("Executing in %1: %2 %3\n").
arg(QDir::toNativeSeparators(workingDir), executable, argsS);
}
SubversionResponse SubversionPlugin::runSvn(const QString &workingDir,
@@ -1252,7 +1253,7 @@ QString SubversionPlugin::findTopLevelForDirectoryI(const QString &directory) co
return QString();
for (QDir parentDir = lastDirectory; parentDir.cdUp() ; lastDirectory = parentDir) {
if (!managesDirectory(parentDir))
return QDir::toNativeSeparators(lastDirectory.absolutePath());
return lastDirectory.absolutePath();
}
return QString();
}