forked from qt-creator/qt-creator
GitEditor: Fix resolving of working directory for non-existent source
Change-Id: Ie92be6b0aa6816b5c3a2bfed4a89163f2260d12b Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
committed by
Orgad Shaneh
parent
039a34a369
commit
618d8e02d1
@@ -286,21 +286,17 @@ void GitEditorWidget::aboutToOpen(const QString &fileName, const QString &realFi
|
||||
|
||||
QString GitEditorWidget::decorateVersion(const QString &revision) const
|
||||
{
|
||||
const QFileInfo fi(source());
|
||||
const QString workingDirectory = fi.absolutePath();
|
||||
|
||||
// Format verbose, SHA1 being first token
|
||||
return GitPlugin::client()->synchronousShortDescription(workingDirectory, revision);
|
||||
return GitPlugin::client()->synchronousShortDescription(sourceWorkingDirectory(), revision);
|
||||
}
|
||||
|
||||
QStringList GitEditorWidget::annotationPreviousVersions(const QString &revision) const
|
||||
{
|
||||
QStringList revisions;
|
||||
QString errorMessage;
|
||||
const QFileInfo fi(source());
|
||||
const QString workingDirectory = fi.absolutePath();
|
||||
// Get the SHA1's of the file.
|
||||
if (!GitPlugin::client()->synchronousParentRevisions(workingDirectory, revision, &revisions, &errorMessage)) {
|
||||
if (!GitPlugin::client()->synchronousParentRevisions(sourceWorkingDirectory(),
|
||||
revision, &revisions, &errorMessage)) {
|
||||
VcsOutputWindow::appendSilently(errorMessage);
|
||||
return QStringList();
|
||||
}
|
||||
@@ -371,8 +367,12 @@ QString GitEditorWidget::fileNameForLine(int line) const
|
||||
|
||||
QString GitEditorWidget::sourceWorkingDirectory() const
|
||||
{
|
||||
const QFileInfo fi(source());
|
||||
return fi.isDir() ? fi.absoluteFilePath() : fi.absolutePath();
|
||||
Utils::FileName path = Utils::FileName::fromString(source());
|
||||
if (!path.isEmpty() && !path.toFileInfo().isDir())
|
||||
path = path.parentDir();
|
||||
while (!path.isEmpty() && !path.exists())
|
||||
path = path.parentDir();
|
||||
return path.toString();
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
Reference in New Issue
Block a user