Dotgit

From eqqon

(Difference between revisions)
Jump to: navigation, search
m (Status of the Project)
m (Status of the Project)
Line 61: Line 61:
* Staging
* Staging
* Command line interface
* Command line interface
-
* Diff engine
+
* Diff engine, merge
 +
* Network transport, SSH, etc
 +
* file sysem check, gc
 +
* ... and many more
== Get the Source Code ==
== Get the Source Code ==

Revision as of 08:35, 12 June 2009


Agreed, git support on Windows could be better ...

... want to improve the situation?


Contribute to dotgit for C#, the most advanced open source implementation of git for .NET


Every little bit helps:

  • Link to the dotgit website to promote the project.
  • Tell your friends ...
  • Code! Tackle one of the missing features or add unit tests.


So let's all stop complaining about the situation, start rocking and have fun!

What is Git?

Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git was initially designed and developed by Linus Torvalds for Linux kernel development.

Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do.

Git is used for version control of files, much like tools such as Mercurial, Bazaar, Subversion, CVS, Perforce, and Visual SourceSafe.

dotgit --> Git for C#

... a native Windows version of the fast & free open source version control system


dotgit for C# is the most advanced of all emerging C# implementations of git for Windows and the .NET framework. It is aimed to be fully compatible to the original [git] for linux and can be used as library for windows applications such as gui frontends or plugins for IDEs.

What you can do with dotgit

dotgit as object oriented interface to your git repo
Want to manipulate you git repo from C#? Want to calculate statistics or create a beautiful visualization? Use dotgit's well designed object oriented API to access git repositories. Reading of repositories is already working, have a look at the API ... so why don't you get started right away?
dotgit as replacement of msysgit
Well, this is our ultimate goal, but we are not yet there. Please help making this vision come true by contributing to the project.
dotgit as object database
Git is an object database with built-in history and branching. If you need to create snapshots of your application's configuration or your user's data with alternative configuration branches then use git. By moving the HEAD in the repository you can easily implement undo/redo operations. For instance, one could build a wiki on top of dotgit or a distributed content management system. (We need to implement write-support for this.)
dotgit as (distributed) file system
Git has been designed by Linus Thorwalds to be a file system that is very good at content-tracking and keeping multiple distributed versions of the same content in sync. If your application needs to implement backup and/or content synchronization routines then it can build on top of git to do that. (We need to implement write-support and remote support for this.)
dotgit as peer-to-peer content distribution system
If you need to build a content distribution framework that will easily and efficiently transport content to different machines then you can easily build one on top of git. (We need to implement write-support and remote support for this.)

Status of the Project

Development Status
Pre-Alpha
What is already working?
  • Reading repository structure like branches, commits, tags, tree and blob objects
  • Reading the index
  • Reading and writing configuration
What needs to be implemented?
  • Writing of commits, blobs and trees
  • Staging
  • Command line interface
  • Diff engine, merge
  • Network transport, SSH, etc
  • file sysem check, gc
  • ... and many more

Get the Source Code

github
dotgit project page
public clone url
git clone git://github.com/henon/dotgit.git

License

MIT X11 License
Copyright (c) 2009, Niek Bruins, Mark Gerrits
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.