engram 0.2.7

A fast and atomic version control system for portable file backups
# engram

<img src="https://img.shields.io/crates/v/engram?color=b7bdf8&labelColor=363a4f&style=for-the-badge&logo=rust&logoColor=white" height="22">
<img src="https://img.shields.io/gitlab/last-commit/mbednarek360/engram?color=a6da95&labelColor=363a4f&style=for-the-badge&logo=gitlab&logoColor=white" height="22">
<img src="https://img.shields.io/gitlab/stars/mbednarek360/engram?color=eed49f&labelColor=363a4f&style=for-the-badge&logo=stackblitz&logoColor=white" height="22">
<br><br>

A fast and atomic version control system for portable file backups

## Usage

Initialize a repository with data:  
`$ engram init ~/repo ~/data`  

Update a repository with new data:  
`$ engram update ~/repo ~/data 3days`  

Pull historical repository data:  
`$ engram pull ~/repo ~/out 2024-11-28T12:00:00` 

Revert updates to a repository:  
`$ engram revert ~/repo 2024-11-28T12:00:00`

> :information: See `engram --help` for more detailed information.   

## Current Limitations
- duplicate / copied files have data re-added 
- renamed directories can create big index files
- moved files that are modified in same patch are considered new instead of delta
- cannot process files bigger than available system memory
- will not preserve file permissions
- data integrity is not checked