Background Commands
Use Preferences -> Commands -> Log and Working Tree window -> Background Commands to configure background repository operations.
Local and Remote Changes
These options control automatic repository checks and maintenance while SmartGit is running.
Detect local changes in closed ‘favorite’ repositories monitors local changes in favorite repositories even while they are closed. This keeps their modified-state indicators in the Repositories View up to date without opening each repository. See Favorite Repositories for how to mark a repository as a favorite.
Detect remote changes checks open repositories and closed favorites for changes to the remote branch corresponding to the checked-out branch. SmartGit polls the remote at regular intervals and indicates when there are changes to fetch. When it is selected, the Fetch options become available:
- Closed ‘favorite’ repositories fetches closed favorites when the remote check detects incoming changes.
- Open repositories when idle fetches open repositories during periods of inactivity.
Background fetching downloads commits and updates remote-tracking branches. Use Pull to integrate fetched changes into your current branch.
Note
Without fetching, remote detection uses the lightweight git ls-remote command and does not download commits.
This cannot detect all remote activity: a feature branch merged and deleted on the server may no longer have a remote tip to check.
Fetching downloads the history needed for fuller tracking information, but uses more bandwidth and disk space.
Background fetches do not prune deleted remote-tracking branches; see Prune obsolete remote tracked branches for cleanup during Fetch or Pull.
To exclude an individual remote from automatic checks and fetches, clear Perform background Poll or Fetch in its remote properties.
Garbage Collector
Periodically invoke Git’s garbage collection when idle enables regular checks for repositories that need maintenance.
When enough loose objects have accumulated, SmartGit runs git gc while idle.
This packs Git’s object database to reduce disk usage and improve repository performance.