Monotone is a distributed version control system with tightly integrated cryptographic integrity and authenticity checks. This howto is not meant to be an exhaustive set of documentation on monotone (see their huge set of manuals and wiki for that), but merely a means to bootstrap Syndie developers.
If your primary goal is to pull the latest development code, there is little to no setup required:
mtn db init --db=./syndie.mtn
mtn genkey arbitrary@name
mtn --db=./syndie.mtn pull mtn.i2p-projekt.de "i2p.syndie"
mtn --db=./syndie.mtn checkout --branch="i2p.syndie" syndie
Whenever you want to pull any more changes, run step 4 again, and then go into
your monotone workspace (
./syndie/) and run
If you will be contributing to the codebase repeatedly you'll want to get
commit priviledges on the
mtn.i2p-projekt.de repository directly.
mtn genkey email@example.com
mtn genkey firstname.lastname@example.org
cat >> ~/.monotone/monotonerc function get_branch_key (branchname) return "email@example.com" end ^D
cat >> ~/.monotone/monotonerc function get_passphrase (keypair_id) if ("firstname.lastname@example.org" == keypair_id) then return "the_author_passphrase" elseif ("email@example.com" == keypair_id) then return "the_transport_passphrase" else return false end end ^D
mtn pubkey firstname.lastname@example.org > keys.txt ; mtn pubkey email@example.com >>keys.txt
Once the keys are authorized the transient nym will be granted write
permission to the
Monotone development cheatsheet:
mtn sync mtn.i2p-projekt.de --branch="i2p.syndie"
CHANGESfile with a bullet point for each substantial change above the most recent release. On the other hand, if you are making a new release, include a date and version line in
VERSION, as well as the version numbers in
mtn add $filename
mtn drop $filename
mtn revert $path
mtn log $filename
mtn tag $revision $tagname
mtn tag a8af872 syndie-0.912b"). note that the revision can be a short substring of the full revision id - "a8af872" instead of "a8af872ccdc00b5995dd1c05f15d8912804bba99"
mtn db kill_tag_locally $tagname
cvs tag -F)