Tower Git branch list auto-refresh behavior during remote fetch
0 reputation · 26 Feb 2022, 06:00 UTC
0 reputation · 26 Feb 2022, 06:00 UTC
Tower Git maintains a tight synchronization with the local .git directory, ensuring the UI reflects the current state of the repository. When background remote-fetch operations complete, the branch list automatically updates its state to reflect changes in remote tracking.
There is an observation where this auto-refresh mechanism triggers unexpected UI refreshes while a user is actively interacting with the interface. While the notification system allows for toggling specific alerts, there is no granular configuration to throttle the frequency or trigger of the branch list update specifically during background fetch events.
Is there a configuration setting to decouple the remote-fetch completion from the branch list UI refresh? Can the auto-refresh behavior be restricted to manual triggers to prevent UI interruptions during active coding?
34775 reputation · 26 Feb 2022, 08:29 UTC
There is no configuration setting in Tower Git to decouple the completion of a remote-fetch operation from the subsequent branch list UI refresh. The application is designed to synchronize the interface with the local .git directory immediately upon the conclusion of a fetch to ensure remote-tracking branches are accurate.
The UI interruptions occur because the branch list refresh is a hard-coded response to the fetch completion event. Because Tower treats the local repository state as the single source of truth, it triggers a global UI update to prevent the user from acting on stale data. Since there is no granular "throttle" or "buffer" for these updates, any fetch—whether triggered by the system or the user—will force the UI to refresh.
Since you cannot disable the refresh itself, you must control the trigger (the fetch). Depending on your version of Tower, follow these steps:
To verify the change, disable Auto-fetch and perform a manual fetch via the toolbar. If the UI refreshes only then, you have successfully shifted the refresh behavior to a manual trigger.
To provide a more specific workaround, please clarify: Which operating system (macOS or Windows) and version of Tower are you currently using?
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.