Delphi Locked-up with Git
I needed to reinstall Delphi 10.2 recently and when I did, I finally decided to check the box that asks if you want to hook up a source code repository. I've always managed source in repositories outside of the IDE, but decided to see if and how much productivity improvement could be had it was built in with the project manager. I use Git so selected the installed
git-cmd.exe file when prompted.
After installing Delphi, I loaded it up, set a few options, installed some templates and libraries and got to work--or tried to. I loaded a project and suddenly Delphi locked up (with an hourglass cursor forever and the title bar said "not responding" causing me to forcibly close the IDE). I thought that was strange and waited, checked a few things, finally restarted the computer and tried again. Creating a new standard application and running it seemed to work fine and then loading a project worked, but anytime I right-clicked on a project or tried any file activity, Delphi locked up again.
I've been using Delphi for many years (and almost every version ever produced) and had not seen anything quite like this. Large projects will take longer to load but even the smallest sample applications were locking it up. What's more is that I had been using Delphi on this same machine just fine a few weeks earlier and on a different machine it still worked. Not even uninstalling all IDE experts and libraries helped.
So I sent a tech support request to Embarcadero. After a couple of days of trying many things, I was asked to use Process Explorer to create a mini dump of activity when Delphi locked up. While I was loading that up, I saw that the moment Delphi locked up, a child process showed up: git-cmd!
After killing the IDE process and restarting, I went straight to the options and cleared out the git-cmd executable for the option I had setup when installing (and then forgotten about) and reran my "lockup" tests--everything worked beautifully!
So, why did it lock up? Maybe Delphi couldn't find git-cmd.exe or perhaps it was waiting for a response. Perhaps I chose the wrong executable. I'm not completely sure. It wasn't something I needed and had already spent many hours trying to figure out what was wrong and didn't want to take any more time on it.
My hope is that if anyone else runs into this (or my future self!), they'll find this blog and save some time trouble-shooting the issue. I also hope that Embarcadero improves the handling of source repositories--or at least gives some guidance when installing as to what executable you're supposed to use.
If anyone else successfully uses Git integrated with Delphi, I'd love to hear about it!