An encrypted version control sytem written in Java
Note
This project is under active experimentation, and not yet suitable for production use.
- ✅ SHA-256 Object Hashing
- ✅
zlib deflateObject Compression - ✅ Staging Area
- ✅ Commits
- AES Encrypted Blob Storage
- Branching
- Diff Engine
- Garbage Collector (Explicit + Implicit)
- Unit Tests Integration
- Object Integrity Checks
- Configuration Support
Here's the list of supported user-friendly commands:
encgit init
Initializes directory as an empty Encgit repository
encgit init
encgit add
Adds files to staging area
encgit add <file1> <file2> ...
encgit commit
Commits a snapshot of staging area to memory
encgit commit -m <message>
Here's the list of supported internal commands:
encgit cat-file
Pretty prints details of specified object file
encgit cat-file <flag> <object-hash>
Flags:
-tprints object type-pprints object content