This page is one of many describing EvaluationFeatures that may be useful when comparing monotone to other similar (and not-so-similar) VCS systems.


The ability for developers to work offline, without access to a network repository, and still perform most or all useful VCS operations.


This is fundamental to monotone and fully supported.

The only operations that use the network are those that transfer revisions: sync and its one-way cousins pull and push. All other operations, including commit and merge, are distributed and occur locally offline. Developers can continue to work offline, publishing their work and learning of the work done by others with a quick sync whenever network access is available. Indeed, reasonable portions of monotone's own development has been done offline, such as while travelling, often because working on other projects would have been harder at the time.

Even these operations do not necessarily need to use the network: revisions can be shared between developers by syncing with a database on a removable flash widget that moves between disconnected machines, as one example.

Example Usage

All of the following (and many other things besides) work entirely offline:

 $ mtn log --last=3 file.c
 <edit file.c>
 $ mtn diff file.c
 $ mtn diff -r t:some-release-tag file.c
 $ mtn commit

Further Reference

Manual and Tutorial Sections:

Features and Requirements in other evaluations:

Quick Links:    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status