# Gitano -- Git with Augmented Network Operation ## Website Gitano has a website at https://www.gitano.org.uk/ and a cgit instance at https://git.gitano.org.uk/ -- Enjoy them. In addition, further documentation and examples can be found on the Gitano wiki at https://wiki.gitano.org.uk/ ## Development is tracked on a Kanban board Gitano's development is tracked on a Kanban board which can be found linked from the sidebar of https://www.gitano.org.uk/ ## Dependencies Gitano depends on [lua-scrypt], [Luxio], [Lace], [Supple], [Gall], [Clod], and [Tongue]. [lua-scrypt]: https://www.gitano.org.uk/lua-scrypt/ [Luxio]: https://www.gitano.org.uk/luxio/ [Lace]: https://www.gitano.org.uk/lace/ [Supple]: https://www.gitano.org.uk/supple/ [Clod]: https://www.gitano.org.uk/clod/ [Gall]: https://www.gitano.org.uk/gall/ [Tongue]: https://www.gitano.org.uk/tongue/ In addition, Gitano depends on the Lua PCRE package lrexlib which can typically be found in lua-rex-pcre or liblua5.1-rex-pcre0 in Debian or Ubuntu. If you wish to use the http access capability in post-recive hooks then you will need to ensure cURL is installed and the `curl` binary itself is present on your PATH. If you wish to use password authentication then the `htpasswd` binary must be present in your PATH. In debian this is provided by `apache2-utils`. If you wish to build the manual then you will need pandoc and the recommended latex/other packages for pandoc to make PDFs and HTML. ## Contributing to Gitano Gitano development is tracked on the `gitano-dev@gitano.org.uk` mailing-list If you wish to suggest changes, offer patches, report bugs, or simply ask how to do something with Gitano, then please join the list and ask there. There may be more appropriate avenues of discussion or assistance made available after this document was written, in which case you will find them linked from the Gitano website or wiki. Specific instructions on how to format patches for submission to Gitano or any of its sub-projects, can be found on the Gitano wiki. ## Stability guarantees * **Rulesets**: During the v1.x series of releases, Gitano rulesets will continue to work and while additional variables or predicates may be added, nothing will be removed or renamed entirely unless failing to do so would constitute a security risk. This guarantee is not provided for a move from v1.x to v2.x. or from any v1.n to v.(n-1). * **Commands**: The command interface of Gitano is meant for humans to interact with, and there is no stability of the command interface defined for the v1.x series of Gitano. * **Hooks**: The interface between Gitano and hooks is guaranteed to only increase in functionality through the v1.x series unless failing to remove or incompatibly alter functionality would constitute a security risk. * **Plugins**: The plugin interface is considered entirely unstable at this time and there is no guarantee that the current interfaces will remain stable through the v1.x series. Any rules, commands, hooks, etc, defined in published plugins distributed with Gitano will be subject to the same constraints as stated above. * **Lua API**: The API of the Gitano Lua modules is an internal implementation detail for the purposes of the v1.x series and should not be relied upon to remain stable between any two releases in the series.