Progress dialog behavior upon cancelling long Git operations
0 reputation · 28 May 2021, 04:56 UTC
TortoiseGit executes long-running operations such as fetch, push, and clone through a dedicated progress dialog. When a user manually triggers the 'Cancel' action during these operations, the UI's behavior depends on the configuration settings found under Settings > Dialogs 2.
There is an uncertainty regarding how the application distinguishes between an 'interrupted' state and a standard 'failure' when the auto-close logic is applied. While the UI attempts to terminate the process tree, the presence of child processes—such as SSH clients (Plink) or credential helpers—can cause the dialog to appear hung while waiting for those subprocesses to exit gracefully.
How does TortoiseGit classify a manually cancelled operation versus a network timeout in its auto-close logic? Is there a specific configuration to ensure the dialog closes immediately upon cancellation without waiting for child process termination, or is the dialog required to remain open to display diagnostic output?