Rez

Single-file version control. Just diff and patch under the hood.

Install

gem install rez

Usage

rez save file.rb initial version
rez save -m "fix the thing"
rez log
rez diff 1
rez show 1
rez restore 1

Name the file once. Pass it again only when more than one is tracked.

Storage

.rez/<filename>/
  base        # first version (immutable)
  snapshot    # latest version
  log         # one line per rev: timestamp message
  1.patch     # forward diff r1 -> r2
  2.patch     # forward diff r2 -> r3

Endpoints are stored whole; intermediates are walked forward from base.

Requires diff and patch. Colored output via git diff when available.