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
|
QString GitEditorWidget::decorateVersion(const QString &revision) const
|
||||||
{
|
{
|
||||||
const QFileInfo fi(source());
|
|
||||||
const QString workingDirectory = fi.absolutePath();
|
|
||||||
|
|
||||||
// Format verbose, SHA1 being first token
|
// 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 GitEditorWidget::annotationPreviousVersions(const QString &revision) const
|
||||||
{
|
{
|
||||||
QStringList revisions;
|
QStringList revisions;
|
||||||
QString errorMessage;
|
QString errorMessage;
|
||||||
const QFileInfo fi(source());
|
|
||||||
const QString workingDirectory = fi.absolutePath();
|
|
||||||
// Get the SHA1's of the file.
|
// 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);
|
VcsOutputWindow::appendSilently(errorMessage);
|
||||||
return QStringList();
|
return QStringList();
|
||||||
}
|
}
|
||||||
@@ -371,8 +367,12 @@ QString GitEditorWidget::fileNameForLine(int line) const
|
|||||||
|
|
||||||
QString GitEditorWidget::sourceWorkingDirectory() const
|
QString GitEditorWidget::sourceWorkingDirectory() const
|
||||||
{
|
{
|
||||||
const QFileInfo fi(source());
|
Utils::FileName path = Utils::FileName::fromString(source());
|
||||||
return fi.isDir() ? fi.absoluteFilePath() : fi.absolutePath();
|
if (!path.isEmpty() && !path.toFileInfo().isDir())
|
||||||
|
path = path.parentDir();
|
||||||
|
while (!path.isEmpty() && !path.exists())
|
||||||
|
path = path.parentDir();
|
||||||
|
return path.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
Reference in New Issue
Block a user