Ani: Patch-based Version Control System

Ani is a kind of personal research project to explore how change management with patches could work as outlined in the Pijul project. The project started because the author wanted to gain a thorough understanding of how changes were represented and tracked in Pijul.

The Pijul source code is written in Rust. Ani is written in C (more specifically C11).

This collection of logs is intended as a trace of the author working to understand what a “patch” is in Pijul by re-implementing everything in C11.

Understanding Pijul file graphs and change files 2023-10-19

Pijul represents files internally as graphs, but how does it actually work?

Pijul notes 2023-06-02

Not so much a blog post, than a collection of knowledge tidbits for easy reference.

A note on hashes 2022-08-23

Quick note on hashes in Pijul.

Change files 2022-08-20

When you create a new Pijul repository, a `.pijul` folder is created with two subfolders: "change" and "pristine".

Good merge, bad merge 2022-08-04

Some time ago, I got excited about a new VCS called Pijul whose distinctive feature is that it's based on a theoretical foundation around patches (paper).