Skip to content
This repository has been archived by the owner on Feb 12, 2023. It is now read-only.

Commit

Permalink
Merge branch 'release/2.2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
GeertvanHorrik committed Oct 28, 2015
2 parents a09933e + bc35b66 commit 8e85837
Show file tree
Hide file tree
Showing 37 changed files with 733 additions and 650 deletions.
95 changes: 95 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
Contributors
============

## Contributing Process

### Get Buyoff Or Find Open Community Issues/Features

* Through [GitHub](https://github.com/GitTools/GitLink/issues), or through the [Chat Room](https://gitter.im/GitTools/GitLink) (preferred), you talk about a feature you would like to see (or a bug), and why it should be included.
* If approved through the Chat Room, ensure the accompanying issue is created with information and a link back to the Chat Room discussion.
* Once you get a nod you can start on the feature.

### Set Up Your Environment

* You create, or update, a fork of https://github.com/GitTools/GitLink under your GitHub account.
* From there you create a branch named specific to the feature.
* In the branch you do work specific to the feature.
* Please also observe the following:
* No reformatting
* No changing files that are not specific to the feature
* More covered below in the **Prepare commits** section.
* Test your changes and please help us out by updating and implementing some automated tests. It is recommended that all contributors spend some time looking over the tests in the source code. You can't go wrong emulating one of the existing tests and then changing it specific to the behavior you are testing.
* Please do not update your branch from the master unless we ask you to. See the responding to feedback section below.

### Prepare Commits

This section serves to help you understand what makes a good commit.

A commit should observe the following:

* A commit is a small logical unit that represents a change.
* Should include new or changed tests relevant to the changes you are making.
* No unnecessary whitespace. Check for whitespace with `git diff --check` and `git diff --cached --check` before commit.
* You can stage parts of a file for commit.

A commit message should observe the following:

* The first line of the commit message should be a short description around 50 characters in length and be prefixed with the issue it refers to with parentheses surrounding that. If the issue is #25, you should have `#25` prefixed to the message.
* If the commit is about documentation, the message should be prefixed with `(doc)`.
* If it is a trivial commit or one of formatting/spaces fixes, it should be prefixed with `(maint)`.
* After the subject, skip one line and fill out a body if the subject line is not informative enough.
* The body:
* Should indent at `72` characters.
* Explains more fully the reason(s) for the change and contrasts with previous behavior.
* Uses present tense. "Fix" versus "Fixed".

A good example of a commit message is as follows:

```
#7 Improve initialization performance
Previously the initialization took 400 ms and had a severe impact
on the startup of an application. This commit brings the initialization
time back to 35 ms.
```

### Submit Pull Request (PR)

Prerequisites:

* You are making commits in a feature branch.
* All specs should be passing.

Submitting PR:

* Once you feel it is ready, submit the pull request to the `GitTools/GitLink` repository against the ````develop```` branch ([more information on this can be found here](https://help.github.com/articles/creating-a-pull-request)).
* In the pull request, outline what you did and point to specific conversations (as in URLs) and issues that you are are resolving. This is a tremendous help for us in evaluation and acceptance.
* Once the pull request is in, please do not delete the branch or close the pull request (unless something is wrong with it).
* One of the Team members, or one of the committers, will evaluate it within a reasonable time period (which is to say usually within 0-2 weeks). Some things get evaluated faster or fast tracked. We are human and we have active lives outside of open source so don't fret if you haven't seen any activity on your pull request within a month or two. We don't have a Service Level Agreement (SLA) for pull requests. Just know that we will evaluate your pull request.

### Respond to Feedback on Pull Request

We may have feedback for you to fix or change some things. We generally like to see that pushed against the same topic branch (it will automatically update the Pull Request). You can also fix/squash/rebase commits and push the same topic branch with `--force` (it's generally acceptable to do this on topic branches not in the main repository, it is generally unacceptable and should be avoided at all costs against the main repository).

If we have comments or questions when we do evaluate it and receive no response, it will probably lessen the chance of getting accepted. Eventually this means it will be closed if it is not accepted. Please know this doesn't mean we don't value your contribution, just that things go stale. If in the future you want to pick it back up, feel free to address our concerns/questions/feedback and reopen the issue/open a new PR (referencing old one).

Sometimes we may need you to rebase your commit against the latest code before we can review it further. If this happens, you can do the following:

* `git fetch upstream` (upstream would be the mainstream repo or `GitTools/GitLink` in this case)
* `git checkout develop`
* `git rebase upstream/develop`
* `git checkout your-branch`
* `git rebase develop`
* Fix any merge conflicts
* `git push origin your-branch` (origin would be your GitHub repo or `your-github-username/GitLink` in this case). You may need to `git push origin your-branch --force` to get the commits pushed. This is generally acceptable with topic branches not in the mainstream repository.

The only reasons a pull request should be closed and resubmitted are as follows:

* When the pull request is targeting the wrong branch (this doesn't happen as often).
* When there are updates made to the original by someone other than the original contributor. Then the old branch is closed with a note on the newer branch this supersedes the issue.

## Other General Information

If you reformat code or hit core functionality without an approval from a person on the Team, it's likely that no matter how awesome it looks afterwards, it will probably not get accepted. Reformatting code makes it harder for us to evaluate exactly what was changed.

If you do these things, it will be make evaluation and acceptance easy. Now if you stray outside of the guidelines we have above, it doesn't mean we are going to ignore your pull request. It will just make things harder for us. Harder for us roughly translates to a longer SLA for your pull request.
3 changes: 3 additions & 0 deletions GitVersionConfig.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
mode: ContinuousDeployment
assembly-versioning-scheme: MajorMinorPatch
#next-version: 1.0.0
36 changes: 31 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
GitLink
==========

[![Join the chat at https://gitter.im/GitTools/GitLink](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/GitTools/GitLink?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

![License](https://img.shields.io/github/license/gittools/gitlink.svg)
![NuGet downloads](https://img.shields.io/nuget/dt/gitlink.svg)
![Version](https://img.shields.io/nuget/v/gitlink.svg)
![Pre-release version](https://img.shields.io/nuget/vpre/gitlink.svg)
![Chocolatey count](https://img.shields.io/chocolatey/dt/gitlink.svg)
![Chocolatey version](https://img.shields.io/chocolatey/v/gitlink.svg)

![GitLink](design/logo/logo_64.png)

GitLink let's users step through your code hosted on GitHub! **Help make .NET open source projects more accessible by enabling this for your .NET projects, it's just a single additional step in your build**. See the list of [projects using GitLink](#projects-using-gitlink).
Expand Down Expand Up @@ -68,6 +77,12 @@ Using GitLink via the command line is very simple:

Below are a few examples.

## Most simple usage

This is the most simple usage available **starting from 2.2.0**. It will automatically determine the url and commit based on a local *.git* directory.

GitLink.exe c:\source\catel

## Running for the default branch

GitLink.exe c:\source\catel -u https://github.com/catel/catel
Expand Down Expand Up @@ -139,19 +154,19 @@ Once a context is created, the *Linker* class can be used to actually link the f

Linker.Link(context);

# How to get GitLink
# How to get

There are three general ways to get GitLink:

## Get it from GitHub

The releases will be available as separate executable download on the [releases tab](https://github.com/CatenaLogic/GitLink/releases) of the project.
The releases will be available as separate executable download on the [releases tab](https://github.com/GitTools/GitLink/releases) of the project.

## Get it via Chocolatey

If you want to install the tool on your (build) computer, the package is available via <a href="https://chocolatey.org/" target="_blank">Chocolatey</a>. To install, use the following command:

choco install GitLink
choco install gitlink

## Get it via NuGet

Expand All @@ -175,17 +190,28 @@ Below is a list of projects already using GitLink (alphabetically ordered).
- <a href="http://www.catelproject.com" target="_blank">Catel</a>
- <a href="http://www.expandframework.com/" target="_blank">eXpand</a>
- <a href="https://github.com/fluentribbon/Fluent.Ribbon" target="_blank">Fluent.Ribbon</a>
- <a href="https://github.com/CatenaLogic/GitLink" target="_blank">GitLink</a>
- <a href="https://github.com/GitTools/GitLink" target="_blank">GitLink</a>
- <a href="https://github.com/MahApps/MahApps.Metro" target="_blank">MahApps.Metro</a>
- <a href="https://github.com/elasticsearch/elasticsearch-net" target="_blank">NEST and Elasticsearch.NET</a>
- <a href="https://github.com/orcomp/Orc.Analytics" target="_blank">Orc.Analytics</a>
- <a href="https://github.com/orcomp/Orc.AutomaticSupport" target="_blank">Orc.AutomaticSupport</a>
- <a href="https://github.com/orcomp/Orc.Collections" target="_blank">Orc.Collections</a>
- <a href="https://github.com/orcomp/Orc.CommandLine" target="_blank">Orc.CommandLine</a>
- <a href="https://github.com/orcomp/Orc.Controls" target="_blank">Orc.Controls</a>
- <a href="https://github.com/orcomp/Orc.CrashReporting" target="_blank">Orc.CrashReporting</a>
- <a href="https://github.com/orcomp/Orc.CsvHelper" target="_blank">Orc.CsvHelper</a>
- <a href="https://github.com/orcomp/Orc.Feedback" target="_blank">Orc.Feedback</a>
- <a href="https://github.com/orcomp/Orc.FileAssociation" target="_blank">Orc.FileAssociation</a>
- <a href="https://github.com/orcomp/Orc.FilterBuilder" target="_blank">Orc.FilterBuilder</a>
- <a href="https://github.com/orcomp/Orc.LicenseManager" target="_blank">Orc.LicenseManager</a>
- <a href="https://github.com/orcomp/Orc.Metadata" target="_blank">Orc.Metadata</a>
- <a href="https://github.com/orcomp/Orc.Notifications" target="_blank">Orc.Notifications</a>
- <a href="https://github.com/orcomp/Orc.NuGetExplorer" target="_blank">Orc.NuGetExplorer</a>
- <a href="https://github.com/orcomp/Orc.ProjectManagement" target="_blank">Orc.ProjectManagement</a>
- <a href="https://github.com/orcomp/Orc.Search" target="_blank">Orc.Search</a>
- <a href="https://github.com/orcomp/Orc.Sort" target="_blank">Orc.Sort</a>
- <a href="https://github.com/orcomp/Orc.Squirrel" target="_blank">Orc.Squirrel</a>
- <a href="https://github.com/orcomp/Orc.SupportPackage" target="_blank">Orc.SupportPackage</a>
- <a href="https://github.com/orcomp/Orc.SystemInfo" target="_blank">Orc.SystemInfo</a>
- <a href="https://github.com/orcomp/Orc.WorkspaceManagement" target="_blank">Orc.WorkspaceManagement</a>
- <a href="https://github.com/orcomp/Orchestra" target="_blank">Orchestra</a>
- <a href="https://github.com/oxyplot/oxyplot" target="_blank">OxyPlot</a>
Expand Down
14 changes: 12 additions & 2 deletions src/GitLink.Tests/ArgumentParserFacts.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@ namespace GitLink.Tests
public class ArgumentParserFacts
{
[TestCase]
public void ThrowsExceptionForEmptyParameters()
public void ReturnsHelpForEmptyParameters()
{
ExceptionTester.CallMethodAndExpectException<GitLinkException>(() => ArgumentParser.ParseArguments(string.Empty));
var context = ArgumentParser.ParseArguments(string.Empty);
Assert.IsTrue(context.IsHelp);
}

[TestCase]
Expand All @@ -36,6 +37,15 @@ public void CorrectlyParsesLogFilePath()
Assert.AreEqual("logFilePath", context.LogFile);
}

[TestCase]
public void CorrectlyParsesPdbFilesDirectory()
{
var context = ArgumentParser.ParseArguments("solutionDirectory -d pdbFilesDirectory");

Assert.AreEqual("solutionDirectory", context.SolutionDirectory);
Assert.AreEqual("pdbFilesDirectory", context.PdbFilesDirectory);
}

[TestCase]
public void CorrectlyParsesHelp()
{
Expand Down
44 changes: 36 additions & 8 deletions src/GitLink.Tests/GitLink.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\lib\LibGit2Sharp.0.21.0.176\build\net40\LibGit2Sharp.props" Condition="Exists('..\..\lib\LibGit2Sharp.0.21.0.176\build\net40\LibGit2Sharp.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
Expand All @@ -16,6 +17,8 @@
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
<IsCodedUITest>False</IsCodedUITest>
<TestProjectType>UnitTest</TestProjectType>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
Expand All @@ -35,18 +38,37 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="ApprovalTests">
<HintPath>..\..\lib\ApprovalTests.3.0.7\lib\net40\ApprovalTests.dll</HintPath>
<Reference Include="ApprovalTests, Version=3.0.0.0, Culture=neutral, PublicKeyToken=11bd7d124fc62e0f, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\ApprovalTests.3.0.8\lib\net40\ApprovalTests.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ApprovalUtilities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=11bd7d124fc62e0f, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\ApprovalUtilities.3.0.8\lib\net45\ApprovalUtilities.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ApprovalUtilities.Net45">
<HintPath>..\..\lib\ApprovalUtilities.3.0.8\lib\net45\ApprovalUtilities.Net45.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ApprovalUtilities">
<HintPath>..\..\lib\ApprovalUtilities.3.0.7\lib\net35\ApprovalUtilities.dll</HintPath>
<Reference Include="Catel.Core, Version=4.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\Catel.Core.4.3.0\lib\net45\Catel.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="GitTools.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\GitTools.Core.1.0.0-unstable0021\lib\net45\GitTools.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Catel.Core, Version=4.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="LibGit2Sharp, Version=0.21.0.176, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\Catel.Core.4.1.0-unstable0030\lib\net45\Catel.Core.dll</HintPath>
<HintPath>..\..\lib\LibGit2Sharp.0.21.0.176\lib\net40\LibGit2Sharp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="nunit.framework">
<HintPath>..\..\lib\NUnit.2.6.3\lib\nunit.framework.dll</HintPath>
<Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\..\lib\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Net" />
Expand Down Expand Up @@ -106,6 +128,12 @@
</Choose>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\lib\LibGit2Sharp.0.21.0.176\build\net40\LibGit2Sharp.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\lib\LibGit2Sharp.0.21.0.176\build\net40\LibGit2Sharp.props'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
Expand Down
10 changes: 6 additions & 4 deletions src/GitLink.Tests/packages.config
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ApprovalTests" version="3.0.7" targetFramework="net45" />
<package id="ApprovalUtilities" version="3.0.7" targetFramework="net45" />
<package id="Catel.Core" version="4.1.0-unstable0030" targetFramework="net45" />
<package id="NUnit" version="2.6.3" targetFramework="net45" />
<package id="ApprovalTests" version="3.0.8" targetFramework="net45" userInstalled="true" />
<package id="ApprovalUtilities" version="3.0.8" targetFramework="net45" userInstalled="true" />
<package id="Catel.Core" version="4.3.0" targetFramework="net45" userInstalled="true" />
<package id="GitTools.Core" version="1.0.0-unstable0021" targetFramework="net45" userInstalled="true" />
<package id="LibGit2Sharp" version="0.21.0.176" targetFramework="net45" userInstalled="true" />
<package id="NUnit" version="2.6.4" targetFramework="net45" userInstalled="true" />
</packages>
Loading

0 comments on commit 8e85837

Please sign in to comment.