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

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Git pull and push dialog is really really slow, and unnecessary

I have a frequent need to run "git pull" or "git push", which uses the current branch. In terminal, it's incredibly fast. But in sourcetree, it pops up a dialog and takes about 10 seconds to request information on remote branches, after which it automatically selects the tracked branch and then I hit OK. Why is this dialog necessary? I understand that occasionally someone might want to push or pull somewhere else, but I am right-clicking my current branch and choosing "Pull origin/develop (tracked)". That can only mean one thing... so why spend 10 seconds refreshing all the other remote branches? I've gotten so weary of waiting that it is actually faster to open a terminal window, cd to my dev directory and type "git pull". Could you please make a preference to allow me to skip the dialog for pulls and pushes, and just use the current branch and the tracked remote, just as the git client does in terminal?

4 answers

1 accepted

0 votes
Answer accepted

This has been addressed here:

SourceTree 1.3 beta 2 is due out later today which includes this change.

I am running 1.3.0b3 and the problem still exists. Push and pull are extremly slow 2*10 seconds for a push, 10 before the dialog appears and 10 after.

Right-clicking on the local branch you want to pull / push and selecting the tracking branch option for pull/push will skip the remote retrieval of branches.

What server are you using? 20 seconds for a 'git remote show' (which is what the pull/push dialogs do to retrieve remote branches when you don't use the context option) is pretty poor.

The repository is at github and is quite fast
$ time git pull
Already up-to-date.
real	0m1.895s

But if I right click on the branch and choose pull from origin/branchname It takes 30 seconds of pause before the spinning bar appears and ends in this error message

git fetch origin 
git svn fetch 
[svn-remote "svn"] unknown
Completed with errors, see above

Looks like you still have a git-svn remote still set up, is that now defunct? If so, please try removing it. It sounds like one of your local branches is still set up to track the svn server.

That is the strange part, I don't, but sourcetree clearly believes so

grep svn .git/* .git/*/*

is empty

I found an empty directory called .git/svn though, which I deleted but sourcetree recreates it.

SourceTree doesn't create this folder itself, only git does that. However if this folder exists, then SourceTree uses that as an indicator that there is Subversion interop enabled on this repo and will call 'git svn' commands as appropriate, which perhaps might re-create it. So if you delete this folder manually, it's best to do so while SourceTree is closed to be sure.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Sourcetree

Tip from the team: configure your repos for hosting goodness!

Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...

4,426 views 4 8
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you