So, a few things:

- you don't need to store the `gitOperations` as a field, you can use a local
- if we make the dialog available all projects - no just git projects - we'll want to handle the case where `getScmOperationsFor` returns null. Probably clear out the url field in the dialog.
- we should wait to open the dialog until the future has completed, and handle the case where it completes with an error

This will complicate the logic in this method quite a bit, but I think make the dialog more robust.