Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Speeding up "Fetching older commits"

Oz Solomon May 15, 2017

Although SourceTree 2.0 (Win) is supposed to be much faster than the 1.9 versions, I find it considerably slower.  It's keeps saying "Fetching older commits" when I switch branches or otherwise try to browse commit history.  This takes 5-10 seconds on my repository.  To be clear, this time is on top of the time spent on the git operation.

Does anybody have any idea if there is any setting I can turn on to speed this up? 

6 answers

2 votes
Alexander Willemse June 25, 2017

Hi, i like to jump into this one, i have the same problem, and most of the time it's not finishing even if you wait 10min, however... if you just restart the application it will load everything in 10sec with no problems, this works for me atm so i don't have to wait everytime.


i don't think it's the amount of reads what is taking the time, if you restart the app, its hardly taking any time to show whatever you need, most of the time this is happening when the app is open for a longer time.

2 votes
minnsey
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 16, 2017

Hi,

We put a lot of work into speeding up SourceTree for the 80% of usecases, most of this has been around simplifying the UI and using libgit2 in place of git.exe for many local operations. See
https://blog.sourcetreeapp.com/2017/05/05/sourcetree-2-0-for-windows-3x-faster-than-sourcetree-1-9/
and https://blog.sourcetreeapp.com/2017/04/27/sourcetree-for-windows-2-0-new-ui-faster-performance-and-microsoft-git-virtual-file-system-support/

However it is likely there are some usecases where we can do more, yours sound like one. The 'Fetching older commits' appears when SourceTree is scrolling back through the history, since libgit2 is in process it can consume excessive memory unless it is batched.

There is a setting in the Tools/Options/General tab where you can adjust the batch size. See the attached image.

Can I also ask do you have large numbers of commits between branches? What might be a typical number?


Capture.PNG

1 vote
ric March 16, 2018

It is now March 2018, Sourcetree v2.4.8, and this is still an issue.

The Sourcetree experience since v1.6 has been very disappointing.

tuliomir August 22, 2018

I agree that the sourcetree experience has been degrading to a point of being unusable on common computers, even with a project with moderately low amount of commits and branches.
I'm only able to use it (current version: 2.7.6) with reasonable performance and response times when running on a latest generation macbook pro, with a SSD disk.

1 vote
Oz Solomon June 26, 2017

I'll add that upgrading to 2.1 didn't help much. 

A related issue that is slowing down SourceTree (which may appear under the banner of Fetching Old Commits) is the slowness of submodule handling: https://community.atlassian.com/t5/SourceTree-questions/How-to-disable-the-slow-git-submodule-status-calls-in-SourceTree/qaq-p/586884

If you are using submodules, please vote the bug linked from the above mentioned discussion.  I personally have had to switch away from SourceTree since it's become so unusably slow.  I'm monitoring releases with the hopes that the performance is fixed so I can come back.

0 votes
Oz Solomon May 16, 2017

Both cases exist (minimal and many differences).  Looks like SourceTree is stuggling when there are more than a handful of differences.

0 votes
Oz Solomon May 16, 2017

Hi Michael,

Thank you for your answer.  I'm running ST 2.0.20.1 and my Options->General doesn't look like yours.  The "Log rows to fetch per load" is not listed as an option (see image).

2017-05-16_8-24-25.png

 

I'm not sure what you mean by "commits between branches".  I'm including two representative graph images of the repo.  It is common to see many PR merges throughout.  There a *many* branches all over the place, many of them live, and many of them old.  If you need more information please contact me directly.

2017-05-16_8-26-05.png

2017-05-16_8-27-45.png

 

 

minnsey
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 16, 2017

Ah apologies, that was a screen shot from the latest beta for 2.1, I forgot it wasn't in 2.0.... but it is coming.

I was just wondering if there are a lot of changes/differences between branches, hence SourceTree needs to read a lot of history when moving between branches and reseting the UI to show the new branch/commit.

The reverse would be two branches with minimal differences, e.g. just 1 commit different where SourceTree does not need to read much history to refresh the UI.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events