Page 1 of 1

plugin git_status makes switching tab very slow

Posted: 31.05.2021 22:58
by demanuel
plugin git_status makes switching tab very slow when the git repo is big (lots of files).

Don't know if i should report it here, but i didn't found the github repo for that that plugin and i didn't find any entry in this forum. Please move it if this is not the right place for this report.

Regards

Posted: 31.05.2021 23:52
by uvviewsoft
Plugin runs git several times

ret = self.run_git(["symbolic-ref", "HEAD", "--short"])
output = self.run_git("status")
output = self.run_git(["branch", "-v"])

It makes it on each tab-switch.
I don't know how to speed it up. also, git processing was taken from Sublime plugin (Git Status too).

Posted: 01.06.2021 07:42
by demanuel
The call to:

Code: Select all

git symbolic-ref HEAD --short
returns only the branch name

The call to:

Code: Select all

git branch -v
returns all the branches, the hash, and the last commit. Is it really necessary? Can't be replaced with

Code: Select all

git branch -l
?

Also the first call

Code: Select all

 ret = self.run_git(["symbolic-ref", "HEAD", "--short"])
is not required as it can be merged with the git branch call.

the call to

Code: Select all

git status
can be replaced with with

Code: Select all

git status -u no 
. This call won't show the untracked files and it will speed up (at least in my repo) 400% in comparison with

Code: Select all

git status

Posted: 01.06.2021 11:39
by uvviewsoft
I need to check this all. I took Git handling python code from
https://github.com/randy3k/GitStatusBar ... tus_bar.py
can you make the patch and test it?

Posted: 01.06.2021 12:05
by uvviewsoft

Posted: 02.06.2021 12:46
by demanuel
i can depending on my free time.

Posted: 02.06.2021 22:38
by uvviewsoft

Posted: 03.06.2021 11:51
by uvviewsoft
Plugin was partially rewritten using 'threads', so test again, seems pause is solved.