Git Checkout Time horrendous -> Workaround?

Hello guys!

We have the following situation: after 10+ years of development by multiple people using Git as source control system, Toad has become very slow when it comes to checking out packages. We are talking 5+ minutes of waiting time. Because this is a problem that maybe many teams run into, we decided to post it here. :slightly_smiling_face:

Our investigation yielded, that Toad seems to go through the whole Git Log when checking out a file. Thus the longer the commit history of a package the longer the checkout time.

We don’t know why Toad is doing this, one suggestion is because of older VCS systems like RCS where the file lock was written in the file history?

We were able to circumvent this behavior by switching the Git Client with a script file simply containing the following code:

@echo off 

if %1%==log (
echo "Customization for git log - Limit the number of log outputs to 1."
git log --max-count=1 %2 %3 %4 %5 %6 
) else (
git %*
) 

Toad then only goes through the last line and checkout time sank drastically. We did not notice any negative consequences.

Why is Toad going through the whole log? Is there a reason for that or could this be limited otherwise? Are there any risks to our approach that we did not yet discover?

Cheers, Franz

We’ll add an option to limit the number of revisions pulled by git log command.