This patch captures a set of abstract traits for Git operations. The idea is that these traits capture the basic capabilities that are required to interact with Radicle storage repositories.
For now, the traits are defined in radicle so that the internals can
be refactored within the crate itself.
Once they are proven to be stable and useful, then they can be placed
in their own crate, radicle-git-repository.
This patch captures a set of abstract traits for Git operations. The idea is that these traits capture the basic capabilities that are required to interact with Radicle storage repositories.
For now, the traits are defined in radicle so that the internals can
be refactored within the crate itself.
Once they are proven to be stable and useful, then they can be placed
in their own crate, radicle-git-repository.