Troubleshooting¶
Solutions to common issues with Gity.
Git Status is Still Slow¶
Check Registration¶
Verify the repository is registered:
If not listed, register it:
Check Health¶
Run diagnostics:
Look for:
- Watcher status: Should be "active"
- Reconciliation needed: If true, the cache is rebuilding
- Throttling active: Resources may be constrained
Verify FSMonitor¶
Check that Git is configured to use Gity:
If missing or incorrect:
Check Git Version¶
Gity requires Git 2.37+:
Upgrade Git if necessary.
Daemon Won't Start¶
Check Logs¶
Common issues:
- Port already in use
- Permission denied
- Corrupted database
Port Conflict¶
Check if something else is using the port:
Kill the conflicting process or change GITY_DAEMON_ADDR:
Permission Issues¶
Ensure you have write access to $GITY_HOME:
Corrupted Database¶
If the sled database is corrupted:
gity daemon stop
rm -rf ~/.gity/data/sled
gity daemon start
# Re-register your repos
gity register /path/to/repo
Changes Not Detected¶
After Sleep/Hibernate¶
The file watcher may miss events during system sleep. Force a refresh:
Watcher Errors¶
Check for watcher issues:
If the watcher stopped, unregister and re-register:
Linux: inotify Limits¶
Large repos can exceed inotify watch limits. See Linux Guide.
Network Filesystems¶
File watching is unreliable on NFS, SMB, SSHFS. Consider:
- Moving the repo to local storage
- Disabling fsmonitor for that repo:
WSL2 Issues¶
Events Not Working¶
If your repo is on /mnt/c/ (Windows filesystem), inotify doesn't work across the 9P boundary.
Solution: Move repos to the Linux filesystem:
See WSL2 Guide for details.
High Resource Usage¶
Check Metrics¶
Too Many Repositories¶
Each registered repo has overhead. Consider unregistering repos you're not actively using:
Large Dirty Set¶
If many files changed (e.g., after switching branches), the cache may be processing:
Background Jobs¶
Check pending jobs:
Jobs are processed in priority order. High-priority work completes first.
Tray Icon Issues¶
Icon Not Appearing¶
The tray depends on platform-specific APIs:
- Linux: Requires a system tray (GNOME, KDE, etc.)
- macOS: Should work automatically
- Windows: Should work automatically
Try restarting:
Tray Can't Connect¶
If the tray shows "Disconnected":
Error Messages¶
"Repository not found"¶
The path doesn't contain a valid Git repository:
Ensure you're pointing to the repo root, not a subdirectory.
"Already registered"¶
The repo is already being watched. Check status:
"Permission denied"¶
Ensure you have read/write access:
"Connection refused"¶
The daemon isn't running:
"Token mismatch"¶
The fsmonitor token is stale. This triggers automatic reconciliation:
Getting Help¶
Collect Diagnostics¶
Before reporting an issue, gather:
# Version info
gity --version
git --version
# Repository health
gity health /path/to/repo
# Resource usage
gity list --stats
gity daemon metrics
# Recent logs
gity logs /path/to/repo --limit 100
# Git configuration
git config --list --show-origin | grep -E "(fsmonitor|untracked)"
Report an Issue¶
Open an issue at github.com/yourusername/gity/issues with:
- Description of the problem
- Steps to reproduce
- Diagnostic output (above)
- Platform and version information
Reset Everything¶
If all else fails, start fresh:
# Stop daemon
gity daemon stop
# Remove all Gity data
rm -rf ~/.gity
# Restart
gity daemon start
# Re-register repos
gity register /path/to/repo
Warning
This removes all cached data and registrations. You'll need to re-register all repositories.