MiniVCSv0.1.0
v0.1.0 · C++ · Distributed VCS

MiniVCS

A lightweight snapshot-based distributed version control system written in modern C++. Demonstrates staging, commit snapshots, remote syncing, and repository reconstruction.

C++17AWS S3Node CLISnapshot Model

Installation

Get started

npm install -g minivcs

Installs the global CLI wrapper that launches the compiled C++ binary. Requires Node.js and the AWS CLI configured with valid credentials.


Commands

Command reference


Internals

System design

01Staging uses a full file copy snapshot model, not content-addressed hashing
02Commit IDs are timestamp-based, enabling lexicographic ordering
03Remote sync uses AWS CLI invocation from the C++ binary via shell
04Repository reconstruction deletes and restores workspace from commit snapshots
05Clone derives latest state from commit ordering without a branch pointer

Architecture

How it fits together

MiniVCS follows a lightweight distributed snapshot architecture. The CLI interacts with local filesystem metadata and synchronizes commit snapshots to AWS S3 for remote collaboration.

User

Runs CLI commands

miniVCS CLI

Node wrapper · C++ binary

Local repo

.miniVCS metadata

AWS S3 remote

Stores commit snapshots for distribution

commitMiniVCS creates a full snapshot locally, then uploads it to S3 via the AWS CLI.
checkout / logRemote commit history is synced from S3 into the local commits directory, enabling reconstruction and timeline inspection.
cloneA fresh local repository is created and the latest snapshot is restored by finding the most recent commit folder lexicographically.
GK

Gulshan Kumar

Author · MiniVCS