radicle-surf
A code surfing library for VCS file systems 🏄♀️🏄♂️
Welcome to radicle-surf
!
radicle-surf
is a system to describe a file-system in a VCS world.
We have the concept of files and directories, but these objects can change over time while people iterate on them.
Thus, it is a file-system within history and we, the user, are viewing the file-system at a particular snapshot.
Alongside this, we will wish to take two snapshots and view their differences.
Contributing
To get started on contributing you can check out our devloping 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.
use git;
use ;
use unsound;
use assert_eq;
use FromStr;
// We're going to point to this repo.
let repo = new?;
// Here we initialise a new Broswer for a the git repo.
let mut browser = new?;
// Set the history to a particular commit
let commit = from_str?;
browser.commit?;
// Get the snapshot of the directory for our current HEAD of history.
let directory = browser.get_directory?;
// Let's get a Path to the memory.rs file
let memory = new;
// And assert that we can find it!
assert!;
let root_contents = directory.list_directory;
assert_eq!;
let src = directory
.find_directory
.expect;
let src_contents = src.list_directory;
assert_eq!;