Skip to content

Commit ad855e9

Browse files
committed
Fix blame
1 parent dc2b0a1 commit ad855e9

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

qgitc/blameview.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,8 @@ def _onMenuBlamePrevCommit(self):
329329
pass
330330

331331
file = self.getFileBySHA1(rev.previous)
332-
event = BlameEvent(file, rev.previous, rev.oldLineNo)
332+
event = BlameEvent(file, rev.previous,
333+
rev.oldLineNo, self._viewer.repoDir)
333334
qApp.postEvent(qApp, event)
334335

335336
def paintEvent(self, event):
@@ -427,6 +428,7 @@ def __init__(self, parent=None):
427428
self._curIndexForMenu = -1
428429
self._preferEncoding = "utf-8"
429430
self._detected = False
431+
self.repoDir: str = None
430432

431433
def clear(self):
432434
super().clear()
@@ -502,7 +504,7 @@ def _onMenuBlamePrevCommit(self):
502504
pass
503505

504506
file = self._panel.getFileBySHA1(rev.previous)
505-
event = BlameEvent(file, rev.previous, rev.oldLineNo)
507+
event = BlameEvent(file, rev.previous, rev.oldLineNo, self.repoDir)
506508
qApp.postEvent(qApp, event)
507509

508510
def _lineRect(self, lineNo):
@@ -716,7 +718,8 @@ def _updateInfo(self):
716718
def _blameCurrent(self):
717719
self._blockAdd = True
718720
history = self._histories[self._curIndex]
719-
self._view.blame(history.file, history.rev, history.lineNo)
721+
self._view.blame(history.file, history.rev,
722+
history.lineNo, self._view.viewer.repoDir)
720723
self._blockAdd = False
721724

722725
def _onPrevious(self):
@@ -823,7 +826,7 @@ def _onLinkActivated(self, link):
823826
if link.type == Link.Sha1:
824827
if self._rev != link.data:
825828
file = self._findFileBySHA1(link.data)
826-
self.blame(file, link.data)
829+
self.blame(file, link.data, repoDir=self._viewer.repoDir)
827830
else:
828831
qApp.postEvent(qApp, OpenLinkEvent(link))
829832

@@ -860,6 +863,7 @@ def blame(self, file, rev=None, lineNo=0, repoDir=None):
860863
self._headerWidget.notifyFecthingStarted()
861864
self.blameFileAboutToChange.emit(file)
862865
self.clear()
866+
self._viewer.repoDir = repoDir
863867
self._viewer.beginReading()
864868
self._fetcher.cwd = repoDir or Git.REPO_DIR
865869
self._fetcher.fetch(file, rev)

qgitc/gitview.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,8 +287,9 @@ def __onRequestBlame(self, filePath: str, toParent: bool, commit: Commit):
287287
rev = sha1 if sha1 else self.currentBranch()
288288
if realCommit.repoDir:
289289
filePath = filePath[len(realCommit.repoDir) + 1:]
290+
repoDir = commitRepoDir(realCommit)
290291
QCoreApplication.postEvent(
291-
qApp, BlameEvent(filePath, rev, repoDir=realCommit.repoDir))
292+
qApp, BlameEvent(filePath, rev, repoDir=repoDir))
292293

293294
def setBranchDesc(self, desc):
294295
self.ui.lbBranch.setText(desc)

0 commit comments

Comments
 (0)