docs/api.rst @ 959fb4d581f6
initial-docs
docs/api: add the repo layout in ascii art
author |
Steve Losh <steve@stevelosh.com> |
date |
Mon, 12 Jul 2010 23:38:39 -0400 |
parents |
6c9b5986c7e1 |
children |
22f23f51ce59 |
API
===
hg-review takes Mercurial's approach to API stability:
* The command line interface is fairly stable and will not break often.
* File formats will not change often.
* The internal implementation may change frequently -- there are no guarantees
of stability.
Providing a stable CLI means that (possibly non-GPL) programs can interact with
hg-review easily without fear of constant breaking.
Stable file formats mean that older versions of hg-review will be able to work
with review data from newer versions (albeit with reduced functionality).
*Not* providing a stable internal implementation allows hg-review's code to be
kept clean and elegant. It means that Python programs will needs to use
subprocesses to avoid breaking, but this is a tradeoff that the author feels is
worth making.
Data Repository Layout
----------------------
The structure of hg-review's data repository looks like this::
your-project/
|
+-- .hg/
| |
| +-- review
| | |
| | +-- {{ changeset hash }}
| | | |
| | | +-- .exists
| | | |
| | | +-- comments
| | | | |
| | | | +-- {{ comment hash }}
| | | | |
| | | | `-- other comments...
| | | |
| | | +-- signoffs
| | | |
| | | +-- {{ signoff hash }}
| | | |
| | | `-- other signoffs ...
| | |
| | `-- other changesets ...
| |
| `-- other files ...
|
`-- other files ...
File Formats
------------
Command Line Interface
----------------------
Python API
----------