===============
This is Bugs Everywhere (BE), a bugtracker built on distributed version
-control. It works with Arch, Bazaar, Darcs, Git, and Mercurial at the
-moment, but is easily extensible. It can also function with no VCS at
-all.
+control. It works with Arch, Bazaar, Darcs, Git, Mercurial, and Monotone
+at the moment, but is easily extensible. It can also function with no
+VCS at all.
The idea is to package the bug information with the source code, so that
bugs can be marked "fixed" in the branches that fix them. So, instead of
=============================================
Bugs Everywhere (BE) is a bugtracker built on distributed version
-control. It works with Arch_, Bazaar_, Darcs_, Git_, and Mercurial_
-at the moment, but is easily extensible. It can also function with no
-VCS at all.
+control. It works with Arch_, Bazaar_, Darcs_, Git_, Mercurial_, and
+Monotone_ at the moment, but is easily extensible. It can also
+function with no VCS at all.
.. _Arch: http://www.gnu.org/software/gnu-arch/
.. _Bazaar: http://bazaar.canonical.com/
.. _Darcs: http://darcs.net/
.. _Git: http://git-scm.com/
.. _Mercurial: http://mercurial.selenic.com/
+.. _Monotone: http://www.monotone.ca/
The idea is to package the bug information with the source code, so
that bugs can be marked "fixed" in the branches that fix them.
If the offending commit is the last commit
==========================================
-+-------+----------------------------+
-| arch | |
-+-------+----------------------------+
-| bzr | bzr uncommit && bzr revert |
-+-------+----------------------------+
-| darcs | darcs obliterate --last=1 |
-+-------+----------------------------+
-| git | git reset --hard HEAD^ |
-+-------+----------------------------+
-| hg | hg rollback && hg revert |
-+-------+----------------------------+
++-------+--------------------------------------------------------------+
+| arch | |
++-------+--------------------------------------------------------------+
+| bzr | bzr uncommit && bzr revert |
++-------+--------------------------------------------------------------+
+| darcs | darcs obliterate --last=1 |
++-------+--------------------------------------------------------------+
+| git | git reset --hard HEAD^ |
++-------+--------------------------------------------------------------+
+| hg | hg rollback && hg revert |
++-------+--------------------------------------------------------------+
+| mtn | mnt db kill_rev_locally $(mnt automate get_base_revision_id) |
++-------+--------------------------------------------------------------+
If the offending commit is not the last commit
==============================================
+----------+-----------------------------------------------+
| hg [#]_ | |
+----------+-----------------------------------------------+
+| mtn [#]_ | |
++----------+-----------------------------------------------+
.. [#] Requires the ```bzr-rebase`` plugin`_. Note, you have to
increment ``XYZ`` by hand for ``<XYZ+1>``, because ``bzr`` does not
support ``after:XYZ``.
-.. [#] From `Mercurial: The Definitive Guide`:
+.. [#] From `Mercurial: The Definitive Guide`_:
"Mercurial also does not provide a way to make a file or
changeset completely disappear from history, because there is no
way to enforce its disappearance"
+.. [#] See `Rebuilding ancestry`_ in the Monotone documentation.
+
.. _bzr-rebase plugin: http://wiki.bazaar.canonical.com/Rebase
.. _Mercurial: The Definitive Guide:
http://hgbook.red-bean.com/read/finding-and-fixing-mistakes.html#id394667
+.. _Rebuilding ancestry:
+ http://www.monotone.ca/docs/Rebuilding-ancestry.html
Warnings about changing history
===============================
--------------
You're happily coding in your Arch_ / Bazaar_ / Darcs_ / Git_ /
-Mercurial_ versioned project and you discover a bug. "Hmm, I'll need
-a simple way to track these things", you think. This is where BE
-comes in. One of the benefits of distributed versioning systems is
-the ease of repository creation, and BE follows this trend. Just
-type::
+Mercurial_ / Monotone_ versioned project and you discover a bug.
+"Hmm, I'll need a simple way to track these things", you think. This
+is where BE comes in. One of the benefits of distributed versioning
+systems is the ease of repository creation, and BE follows this trend.
+Just type::
$ be init
Using <VCS> for revision control.
.. _Darcs: http://darcs.net/
.. _Git: http://git-scm.com/
.. _Mercurial: http://mercurial.selenic.com/
+.. _Monotone: http://www.monotone.ca/
Inside the ``.be`` directory (among other things) there will be a long
UUID_ directory. This is your bug directory. The idea is that you