Skip to content
/ EncGit Public

An Encrypted Version Control System Written in Java

Notifications You must be signed in to change notification settings

diezo/EncGit

Repository files navigation

EncGit - An Encrypted VCS Written in Java

wakatime

LinkedIn GitHub

An encrypted version control sytem written in Java

Note

This project is under active experimentation, and not yet suitable for production use.

📦 Features

  • ✅ SHA-256 Object Hashing
  • zlib deflate Object Compression
  • ✅ Staging Area
  • ✅ Commits
  • AES Encrypted Blob Storage
  • Branching
  • Diff Engine
  • Garbage Collector (Explicit + Implicit)
  • Unit Tests Integration
  • Object Integrity Checks
  • Configuration Support

⚒️ Porcelain Commands (High-level)

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>

⚒️ Plumbing Commands (Low-level)

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:

  • -t prints object type
  • -p prints object content

About

An Encrypted Version Control System Written in Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages