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:

  1. Implementation of a parallel set of git commands using git-sharp
  2. Implementation of new commands
  3. Implementation of git plugins for IDE like monodevelop or VS
  4. For use for any program that wants to use git for a backend
Native git is divided in two complexity levels:
  • 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

Also available in: HTML TXT