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 C99.

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 C99.

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).


Articles from blogs I follow around the net

In praise of Plan 9

Plan 9 is an operating system designed by Bell Labs. It’s the OS they wrote after Unix, with the benefit of hindsight. It is the most interesting operating system that you’ve never heard of, and, in my opinion, the best operating system design to date. Even …

via Drew DeVault's blog November 12, 2022

Making Hare more debuggable

Hare programs need to be easier to debug. This blog post outlines our plans for improving the situation. For a start, we’d like to implement the following features: Detailed backtraces Address sanitization New memory allocator DWARF support These are rou…

via Blogs on The Hare programming language November 4, 2022

Go’s Version Control History

A tour of Go’s four version control systems.

via research!rsc February 14, 2022

Generated by openring