diff options
Diffstat (limited to 'doc/contrib.txt')
-rw-r--r-- | doc/contrib.txt | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/doc/contrib.txt b/doc/contrib.txt new file mode 100644 index 000000000..fb30fbad4 --- /dev/null +++ b/doc/contrib.txt @@ -0,0 +1,60 @@ + +Contributing To Botan +======================================== + +Getting The Latest Sources +---------------------------------------- + +Botan's development occurs using a distributed version control system +called `Monotone <http://www.monotone.ca>`_. + +The main branch of development occurs on the branch named +``net.randombit.botan``; this is probably the branch you want, +especially if you are planning on making major changes. To +download that branch and set up a new workspace, run:: + + $ mtn db init --db=botan.mtn + $ mtn pull --db=botan.mtn randombit.net 'net.randombit.botan' + [...] + $ mtn checkout --db=botan.mtn --branch=net.randombit.botan + [...] + +By default the ``checkout`` command will place the workspace in a +directory with the same name as the branch you are checking out. If +you want a different directory name, just include it after the +``--branch`` option (you can also rename this directory at any time). + +If this is the first time you've connected to the server, Monotone +will print:: + + mtn: first time connecting to server randombit.net + mtn: I'll assume it's really them, but you might want to double-check + mtn: their key's fingerprint: 8c0b868f2247215c63c96983b1c8ca0f0f0cfd9a + +The fingerprint shown above was the correct one as of September 21, +2010. + +To pull further changes, from anywhere in the workspace run these +commands:: + + $ mtn pull + [...] + $ mtn update + [summary of changes] + +The ``mtn update`` command will give you a summary of which files +changed; to view the full changelog, run ``mtn log``. + +Monotone's distributed nature means you can check into your database +while continuing to merge changes made upstream. This is particularly +useful if your change is large or invasive, as you can checkpoint your +progress over time. + +If you are making a large number of changes, you may want to start up +a new branch that occasionally merges against the mainline; check the +monotone documentation for details. + +After you finish your changes, you can review them using ``mtn diff`` +to diff against the latest official head; send the output to the +mailing list for review and inclusion. + |