libpijul 0.12.0

A patch-based distributed version control system, easy to use and fast.
docs.rs failed to build libpijul-0.12.0
Please check build logs and if you believe this is docs.rs' fault, report into this issue report.

This crate contains the core API to access Pijul repositories.

The key object is a Repository, on which Txn (immutable transactions) and MutTxn (mutable transactions) can be started, to perform a variety of operations.

Another important object is a Patch, which encodes two different pieces of information:

  • Information about deleted and inserted lines between two versions of a file.

  • Information about file moves, additions and deletions.

The standard layout of a repository is defined in module fs_representation, and mainly consists of a directory called .pijul at the root of the repository, containing:

  • a directory called pristine, containing a Sanakirja database storing most of the repository information.

  • a directory called patches, actually containing the patches, where each patch is a gzipped compression of the bincode encoding of the patch::Patch type.

At the moment, users of this library, such as the Pijul command-line tool, may use other files in the .pijul directory, such as user preferences, or information about remote branches and repositories.