Refactor the source data types to reuse existing logic and update to the latest protocol. The `Blob` and `Tree` data types are updated to be backed by `File` and `Directory` respectively. This allows the construction of them to be much simpler and reuse any existing logic on those types. This also lead to the removal of `ObjectType` and `Info`. The `Revision` type was removed in favour of using the `Revision` trait. The `Revisions` type was renamed to `View`, while also renaming the `revision` module to `view`. A `View` is a simple encoding of what a peer's "view" would look like, i.e. what references do they have. This also required the introduction of getting free-form categories in the reference db, i.e. `refs/<category>`, and so a `Categories` iterator was also introduced. Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com> X-Clacks-Overhead: GNU Terry Pratchett
radicle-surf
A code surfing library for Git repositories 🏄♀️🏄♂️
Welcome to radicle-surf!
radicle-surf is a library to describe a Git repository as a file system. It
aims to provide an easy-to-use API to browse a repository via the concept of
files and directories for any given revision. It also allows the user to diff
any two different revisions.
One of the use cases would be to create a web GUI for interacting with a Git repository (thinking GitHub, GitLab or similar systems).
Contributing
To get started on contributing you can check out our developing guide, and also our LICENSE file.
The Community
Join our community disccussions at radicle.community!
Example
To a taste for the capabilities of radicle-surf we provide an example below, but we also
keep our documentation and doc-tests up to date.