API Design
The main objective with git-sharp is to implement a full mamanged implementation of git, this will be implemented with C# in the form of a library.
We will like that this library permits:
- Implementation of a parallel set of git commands using git-sharp
- Implementation of new commands
- Implementation of git plugins for IDE like monodevelop or VS
- For use for any program that wants to use git for a backend
- Core: Fundamental data structures and utilities of git.
- Porcelain: Programs and program suites depending on core git, presenting a high level access to core git.
So in Git-sharp we will divide work in this two levels divide in 3 namespaces:
- Mono.Git: Main namespace, SCM high level clases and members are defined. Main Scenarios
- Mono.Git.Core: Namespace where the fundamental classes and members are defined. Core Scenarios