diff --git a/src/plugins/git/instantblame.cpp b/src/plugins/git/instantblame.cpp index d2366c73048..473f0b0f1bd 100644 --- a/src/plugins/git/instantblame.cpp +++ b/src/plugins/git/instantblame.cpp @@ -90,6 +90,16 @@ bool BlameMark::addToolTipContent(QLayout *target) const const auto fileName = Utils::FilePath::fromString(originalFileName); gitClient().openShowEditor(path, sha1, fileName); } + } else if (link == "logLine") { + const VcsBasePluginState state = currentState(); + QTC_ASSERT(state.hasFile(), return); + + qCInfo(log).nospace().noquote() << "Showing log for: \"" << m_info.filePath + << "\" line:" << m_info.line; + + const QString lineArg = QString("-L %1,%1:%2") + .arg(m_info.line).arg(state.relativeCurrentFile()); + gitClient().log(state.currentFileTopLevel(), {}, true, {lineArg, "--no-patch"}); } else { qCInfo(log).nospace().noquote() << "Showing commit: " << sha1 << " for " << m_info.filePath; gitClient().show(m_info.filePath, sha1); @@ -106,16 +116,18 @@ QString BlameMark::toolTipText(const CommitInfo &info) const " Blame %1" " Blame Parent" " File at %1" + " Log for line %2" "" "

" "" " " - " " - " " + " " + " " " " - " " + " " "
commit%1
Author:%2 <%3>
Date:%4
Author:%3 <%4>
Date:%5
%5
%6
") - .arg(info.sha1.left(8), info.author, info.authorMail, + .arg(info.sha1.left(8), QString::number(info.line), + info.author, info.authorMail, info.authorTime.toString("yyyy-MM-dd hh:mm:ss"), info.summary); if (settings().instantBlameIgnoreSpaceChanges()