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 ----------