feat: Improve error messages for config and cache directory creation #2725
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR improves error messages when GitUI fails to create config or cache directories due to permission issues or other filesystem errors. Instead of showing a generic error, users now receive clear, contextual information about which directory GitUI was trying to create.
Problem
Fixes #2683 - Better error message if config (and/or HOME) directory is not writeable
Currently, when GitUI fails to create config directories due to permission issues, users see a generic error message:
This provides no context about what GitUI was trying to do, making it difficult for users to understand and resolve the issue.
Solution
The fix adds contextual error messages that clearly indicate:
Before this change:
After this change:
Implementation
The changes are minimal and focused:
In
process_cmdline()
(line 52-58):In
get_app_cache_path()
(line 163-169):Testing
Benefits
strace
or similar tools to debug permission issuesThis addresses the exact issue described in #2683 where users had to resort to using
strace
to identify which directory was causing permission problems.🤖 Generated with Claude Code