Files
radicle-git/radicle-surf
Fintan Halpenny b4d3bf69cf radicle-surf: refactor source objects
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
2022-11-30 13:22:44 +00:00
..
2022-11-30 13:22:44 +00:00
2022-11-30 13:22:44 +00:00

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.