Summary
Preserve complete Git history, not just latest state.
Use Case
When archiving repos, need full history for forensics and blame analysis.
Current Behaviour
borg collect github repo clones but may not preserve complete history.
Proposed Enhancement
# Full history (default)
borg collect github repo https://github.com/org/repo --full-history
# Shallow (faster, less storage)
borg collect github repo https://github.com/org/repo --depth 1
# Include all branches
borg collect github repo https://github.com/org/repo --all-branches
# Include all tags
borg collect github repo https://github.org/repo --all-tags
Data Preserved
- All commits on all branches
- All tags (annotated and lightweight)
- Reflogs (optional)
- Git LFS objects
- Submodules (recursive)
Options
| Flag |
Description |
--full-history |
Complete git history (default) |
--depth N |
Shallow clone |
--all-branches |
All remote branches |
--all-tags |
All tags |
--lfs |
Include LFS objects |
--submodules |
Recursive submodule clone |
Acceptance Criteria
Summary
Preserve complete Git history, not just latest state.
Use Case
When archiving repos, need full history for forensics and blame analysis.
Current Behaviour
borg collect github repoclones but may not preserve complete history.Proposed Enhancement
Data Preserved
Options
--full-history--depth N--all-branches--all-tags--lfs--submodulesAcceptance Criteria