GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Home Home
Derek Christensen edited this page
Welcome to the LibGit2Sharp project wiki! If you are interested in contributing to the development of this project we would love to have your help. Please take a moment to read through the contributing guide below.
Let's put it simply: we currently lack proper documentation. Any help on this subject would be greatly appreciated ;-)
We rely on Xml documentation comments to describe types and methods. This post shares some nice practices about it.
A lot of thought has gone into the current API design, please help keep things consistent. The following is a list of general guidelines for implementing new features in the API.
using (var repo = new Repository("path\to\repo.git")) { // Object lookup var obj = repo.Lookup("sha"); var commit = repo.Lookup<Commit>("sha"); var tree = repo.Lookup<Tree>("sha"); var tag = repo.Lookup<Tag>("sha"); // Rev walking foreach (var c in repo.Commits.Walk("sha")) { } var commits = repo.Commits.StartingAt("sha").Where(c => c).ToList(); var sortedCommits = repo.Commits.StartingAt("sha").SortBy(SortMode.Topo).ToList(); // Refs var reference = repo.Refs["refs/heads/master"]; var allRefs = repo.Refs.ToList(); foreach (var c in repo.Refs["HEAD"].Commits) { } foreach (var c in repo.Head.Commits) { } var headCommit = repo.Head.Commits.First(); var allCommits = repo.Refs["HEAD"].Commits.ToList(); var newRef = repo.Refs.CreateFrom(reference); var anotherNewRef = repo.Refs.CreateFrom("sha"); // Branches // special kind of reference var allBranches = repo.Branches.ToList(); var branch = repo.Branches["master"]; var remoteBranch = repo.Branches["origin/master"]; var localBranches = repo.Branches.Where(p => p.Type == BranchType.Local).ToList(); var remoteBranches = repo.Branches.Where(p => p.Type == BranchType.Remote).ToList(); var newBranch = repo.Branches.CreateFrom("sha"); var anotherNewBranch = repo.Branches.CreateFrom(newBranch); repo.Branches.Delete(anotherNewBranch); // Tags // really another special kind of reference var aTag = repo.Tags["refs/tags/v1.0"]; var allTags = repo.Tags.ToList(); var newTag = repo.Tags.CreateFrom("sha"); var newTag2 = repo.Tags.CreateFrom(commit); var newTag3 = repo.Tags.CreateFrom(reference); } In many cases, if you are implementing brand new parts of the API it is a good idea to sketch out how the API would be used by a consumer, post it somewhere like gists and ask for some feedback before diving in and implementing. |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |