#backup #file #portable #atomic #control #version #repo

app engram

A fast and atomic version control system for portable file backups

13 releases

0.2.9 Dec 7, 2024
0.2.8 Nov 29, 2024
0.1.1 Nov 21, 2024
0.0.1 Nov 19, 2024

#76 in Filesystem

Download history 469/week @ 2024-11-18 816/week @ 2024-11-25 102/week @ 2024-12-02 149/week @ 2024-12-09

1,536 downloads per month

MPL-2.0 license

32KB
878 lines

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

Dependencies

~10–19MB
~252K SLoC