From ec39f91dda0aea4a1cb4ab15b16b279d836890f3 Mon Sep 17 00:00:00 2001 From: Efimov Vasily Date: Wed, 24 Jan 2024 14:43:56 +0300 Subject: [PATCH] sequenceeditor: use gitcmds.changed_files instead of git.show result parsing Signed-off-by: Efimov Vasily --- cola/sequenceeditor.py | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/cola/sequenceeditor.py b/cola/sequenceeditor.py index f9a27349..6697e068 100644 --- a/cola/sequenceeditor.py +++ b/cola/sequenceeditor.py @@ -18,6 +18,7 @@ from cola import hotkeys from cola import icons from cola import qtutils from cola import utils +from cola.gitcmds import changed_files from cola.i18n import N_ from cola.models import dag from cola.models import prefs @@ -206,7 +207,7 @@ class Editor(QtWidgets.QWidget): self.filewidget.files_selected.connect(self.diff.files_selected) self.filewidget.remark_toggled.connect(self.remark_toggled_for_files) - # `git.show` is too expensive. + # `git` calls are too expensive. # When user toggles a remark of all commits touching selected paths # for a first time, the GUI freezes for a while on a big enough # sequence. @@ -236,20 +237,7 @@ class Editor(QtWidgets.QWidget): except KeyError: pass - status, out, _ = self.context.git.show( - oid, z=True, numstat=True, oneline=True, no_renames=True - ) - - if status != 0: - return () - - paths = [f for f in out.rstrip('\0').split('\0') if f] - if paths: - # Skip over the summary on the first line. - paths = paths[1:] - - # Drop numbers. Only path is needed. - paths = tuple(f.split()[-1] for f in paths) + paths = changed_files(self.context, oid) self.oid_to_paths[oid] = paths return paths -- 2.11.4.GIT