# engram

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