14 from PyQt6.QtCore import Qt |
14 from PyQt6.QtCore import Qt |
15 from PyQt6.QtWidgets import ( |
15 from PyQt6.QtWidgets import ( |
16 QHeaderView, QDialog, QDialogButtonBox, QTreeWidgetItem |
16 QHeaderView, QDialog, QDialogButtonBox, QTreeWidgetItem |
17 ) |
17 ) |
18 |
18 |
19 from E5Utilities.E5MutexLocker import E5MutexLocker |
19 from EricUtilities.EricMutexLocker import EricMutexLocker |
20 |
20 |
21 from .SvnDialogMixin import SvnDialogMixin |
21 from .SvnDialogMixin import SvnDialogMixin |
22 from .Ui_SvnBlameDialog import Ui_SvnBlameDialog |
22 from .Ui_SvnBlameDialog import Ui_SvnBlameDialog |
23 |
23 |
24 import Preferences |
24 import Preferences |
71 dname, fname = self.vcs.splitPath(fn) |
71 dname, fname = self.vcs.splitPath(fn) |
72 |
72 |
73 cwd = os.getcwd() |
73 cwd = os.getcwd() |
74 os.chdir(dname) |
74 os.chdir(dname) |
75 try: |
75 try: |
76 with E5MutexLocker(self.vcs.vcsExecutionMutex): |
76 with EricMutexLocker(self.vcs.vcsExecutionMutex): |
77 annotations = self.client.annotate(fname) |
77 annotations = self.client.annotate(fname) |
78 for annotation in annotations: |
78 for annotation in annotations: |
79 author = annotation["author"] |
79 author = annotation["author"] |
80 line = annotation["line"] |
80 line = annotation["line"] |
81 self.__generateItem( |
81 self.__generateItem( |