This document tracks remaining unimplemented features and enhancements for the git-exec library. Most core functionality is complete and documented in README.md.
The following commands have basic implementations but could be enhanced:
- Revert: Enhanced revert operations with conflict handling
- Reflog: Structured parsing of reflog entries
- Remove: Enhanced file removal with better error handling
- Credential Helper Integration: Support for Git credential helpers
- SSH Key Support: Direct SSH key authentication
- Token Refresh: Automatic token refresh mechanisms
- Command Batching: Batch multiple operations for efficiency
- Output Streaming: Stream output for large operations
- Parallel Operations: Concurrent operation support where safe
- Stash Operations: Complete stash management
- Bisect Support: Automated bisecting workflows
- Archive Creation: Git archive operations
- Bundle Operations: Git bundle creation and extraction
- Worktree Support: Multiple working tree management
- Progress Callbacks: Progress reporting for long operations
- Custom Merge Strategies: Support for custom merge strategies
- Hook Management: Git hook installation and management
- Interactive Operations: Support for interactive rebasing, adding, etc.
(All high priority items completed)
- Advanced Authentication - Credential helper integration
- Performance Optimizations - Command batching and streaming
- Stash Operations - Common developer workflow
- Archive/Bundle Operations - Specialized use cases
- Interactive Operations - Complex UI interactions
- Custom Strategies - Advanced Git workflows
When implementing these features:
- Follow the existing functional options pattern
- Add comprehensive tests with good coverage
- Update both this document and README.md
- Ensure backward compatibility
- Follow Go best practices for error handling