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

Commit a09933e

Browse files
Merge branch 'release/2.1.0'
2 parents 5ea0796 + c2d1441 commit a09933e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+793
-567
lines changed

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66
*.user
77
*.sln.docstates
88

9+
.nuget/
10+
tools/FAKE/
11+
build-log.xml
12+
Nuget.key
13+
TestResult.xml
14+
915
# Build results
1016
[Bb]in/
1117
[Cc]lientbin/
@@ -16,6 +22,7 @@
1622
bin
1723
obj
1824
[Ll]ib/
25+
*.ide/
1926
*_i.c
2027
*_p.c
2128
*.ilk

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2014 Geert van Horrik
3+
Copyright (c) 2014 CatenaLogic
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

NextVersion.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

README.md

Lines changed: 46 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ GitLink
55

66
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).
77

8+
<a href="https://pledgie.com/campaigns/26957"><img alt="Click here to lend your support to: GitLink and make a donation at pledgie.com !" src="https://pledgie.com/campaigns/26957.png?skin_name=chrome" border="0" /></a>
9+
810
--
911

1012
**Important note**
@@ -28,8 +30,14 @@ When using GitLink, the user no longer has to specify symbol servers. He/she onl
2830

2931
![Enabling source server support](doc/images/visualstudio_enablesourceserversupport.png)
3032

33+
# Troubleshooting
34+
3135
**Note that Visual Studio 2012 needs to run elevated in order to download the source server files due to a bug in Visual Studio 2012.**
3236

37+
If the source stepping is not working, double check that Visual Studio has a valid symbol cache directory to store the source files being downloaded:
38+
39+
![Enabling source server support](doc/images/visualstudio_symbolslocation.png)
40+
3341
# Supported git providers
3442

3543
GitLink supports the following providers out of the box (will auto-detect based on the url):
@@ -51,7 +59,7 @@ Providers currently being worked on:
5159

5260
It is also possible to specify a custom url provider.
5361

54-
# Using GitLink as command line tool #
62+
# Using GitLink as command line tool
5563

5664
Using GitLink via the command line is very simple:
5765

@@ -60,44 +68,55 @@ Using GitLink via the command line is very simple:
6068

6169
Below are a few examples.
6270

63-
## Running for the default branch ##
71+
## Running for the default branch
6472

6573
GitLink.exe c:\source\catel -u https://github.com/catel/catel
6674

6775
This will use the default branch (which is in most cases **master**). You can find out the default branch by checking what branch is loaded by default on the GitHub page.
6876

69-
## Running for a specific branch ##
77+
## Running for a specific branch
7078

7179
GitLink.exe c:\source\catel -u https://github.com/catel/catel -b develop
7280

7381
This will use the develop branch.
7482

75-
## Running for a specific branch and configuration ##
83+
## Running for a specific branch and configuration
7684

7785
GitLink.exe c:\source\catel -u https://github.com/catel/catel -b develop -c debug
7886

7987
This will use the develop branch and the debug configuration.
8088

81-
## Getting help ##
89+
## Running for a specific solution only
90+
91+
Sometimes a repository contains more than 1 solution file. By default, all solutions will be processed. To only process a single solution file, use the *-f* option:
92+
93+
GitLink.exe c:\source\catel -u https://github.com/catel/catel -f Catel.sln
94+
95+
## Ignoring projects
96+
97+
When specific projects should be ignored, use the *-ignore* option. This option accepts a comma separated list of projects to ignore:
98+
99+
GitLink.exe c:\source\catel -u https://github.com/catel/catel -f Catel.sln -ignore Catel.Core.WP80,Catel.MVVM.WP80
100+
101+
## Getting help
82102

83103
When you need help about GitLink, use the following command line:
84104

85105
GitLink.exe -help
86106

87-
## Logging to a file ##
107+
## Logging to a file
88108

89109
When you need to log the information to a file, use the following command line:
90110

91111
GitLink.exe c:\source\catel -u https://github.com/catel/catel -b develop -l GitLinkLog.log
92112

93-
94-
# Using GitLink in code #
113+
# Using GitLink in code
95114

96115
GitLink is built with 2 usages in mind: command line and code reference. Though most people will use the command line version, it is possible to reference the executable and use the logic in code.
97116

98117
The command line implementation uses the same available API.
99118

100-
## Creating a context ##
119+
## Creating a context
101120

102121
To link files to a Git project, a context must be created. The command line version does this by using the *ArgumentParser* class. It is also possible to create a context from scratch as shown in the example below:
103122

@@ -114,33 +133,33 @@ It is possible to create a context based on command line arguments:
114133
var context = ArgumentParser.Parse(@"c:\source\catel -u https://github.com/catel/catel -b develop");
115134
```
116135

117-
## Linking a context ##
136+
## Linking a context
118137

119138
Once a context is created, the *Linker* class can be used to actually link the files:
120139

121140
Linker.Link(context);
122141

123-
# How to get GitLink #
142+
# How to get GitLink
124143

125-
There are three general ways to get GitLink:.
144+
There are three general ways to get GitLink:
126145

127-
## Get it from GitHub ##
146+
## Get it from GitHub
128147

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

131-
## Get it via Chocolatey ##
150+
## Get it via Chocolatey
132151

133152
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:
134153

135154
choco install GitLink
136155

137-
## Get it via NuGet ##
156+
## Get it via NuGet
138157

139158
If you want to reference the assembly to use it in code, the recommended way to get it is via <a href="http://www.nuget.org/" target="_blank">NuGet</a>.
140159

141160
**Note that getting GitLink via NuGet will add it as a reference to the project**
142161

143-
# How does it work #
162+
# How does it work
144163

145164
The SrcSrv tool (Srcsrv.dll) enables a client to retrieve the exact version of the source files that were used to build an application. Because the source code for a module can change between versions and over the course of years, it is important to look at the source code as it existed when the version of the module in question was built.
146165

@@ -149,18 +168,27 @@ For more information, see the <a href="http://msdn.microsoft.com/en-us/library/w
149168
GitLink creates a source index file and updates the PDB file so it will retrieve the files from the Git host file handler.
150169

151170
<a name="projects-using-gitlink"></a>
152-
# Projects using GitLink #
171+
# Projects using GitLink
153172

154173
Below is a list of projects already using GitLink (alphabetically ordered).
155174

156175
- <a href="http://www.catelproject.com" target="_blank">Catel</a>
157176
- <a href="http://www.expandframework.com/" target="_blank">eXpand</a>
177+
- <a href="https://github.com/fluentribbon/Fluent.Ribbon" target="_blank">Fluent.Ribbon</a>
158178
- <a href="https://github.com/CatenaLogic/GitLink" target="_blank">GitLink</a>
179+
- <a href="https://github.com/orcomp/Orc.AutomaticSupport" target="_blank">Orc.AutomaticSupport</a>
180+
- <a href="https://github.com/orcomp/Orc.Collections" target="_blank">Orc.Collections</a>
181+
- <a href="https://github.com/orcomp/Orc.Controls" target="_blank">Orc.Controls</a>
159182
- <a href="https://github.com/orcomp/Orc.CsvHelper" target="_blank">Orc.CsvHelper</a>
183+
- <a href="https://github.com/orcomp/Orc.Feedback" target="_blank">Orc.Feedback</a>
160184
- <a href="https://github.com/orcomp/Orc.FilterBuilder" target="_blank">Orc.FilterBuilder</a>
185+
- <a href="https://github.com/orcomp/Orc.LicenseManager" target="_blank">Orc.LicenseManager</a>
161186
- <a href="https://github.com/orcomp/Orc.ProjectManagement" target="_blank">Orc.ProjectManagement</a>
162187
- <a href="https://github.com/orcomp/Orc.Sort" target="_blank">Orc.Sort</a>
188+
- <a href="https://github.com/orcomp/Orc.Squirrel" target="_blank">Orc.Squirrel</a>
189+
- <a href="https://github.com/orcomp/Orc.WorkspaceManagement" target="_blank">Orc.WorkspaceManagement</a>
163190
- <a href="https://github.com/orcomp/Orchestra" target="_blank">Orchestra</a>
191+
- <a href="https://github.com/oxyplot/oxyplot" target="_blank">OxyPlot</a>
164192
- <a href="http://romanticweb.net" target="_blank">Romantic Web</a>
165193
- <a href="https://github.com/xunit/xunit" target="_blank">xUnit.net</a>
166194
- <a href="https://github.com/xunit/visualstudio.xunit" target="_blank">xUnit.net Visual Studio Runner</a>
@@ -170,6 +198,6 @@ Are you using GitLink in your projects? Let us know and we will add your project
170198
*Note that you can also create a pull request on this document and add it yourself.*
171199

172200

173-
# Icon #
201+
# Icon
174202

175203
Link by Dominic Whittle from The Noun Project

deployment/Chocolatey/template/GitLink/GitLink.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@
1919
<language>en-US</language>
2020
<projectUrl>https://github.com/CatenaLogic/GitLink/</projectUrl>
2121
<licenseUrl>https://github.com/CatenaLogic/GitLink/blob/develop/LICENSE</licenseUrl>
22-
<iconUrl>https://raw.githubusercontent.com/CatenaLogic/GitLink/develop/design/logo/logo_64.png</iconUrl>
22+
<iconUrl>https://raw.githubusercontent.com/CatenaLogic/GitLink/develop/design/logo/logo_128.png</iconUrl>
2323
</metadata>
2424
</package>

deployment/Chocolatey/template/GitLink/tools/chocolateyInstall.ps1

Lines changed: 0 additions & 2 deletions
This file was deleted.

deployment/Chocolatey/template/GitLink/tools/chocolateyUninstall.ps1

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/history.txt

Lines changed: 1 addition & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -10,67 +10,4 @@ For more information about issues or new feature requests, please visit:
1010

1111
Project website: https://github.com/CatenaLogic/GitLink/
1212

13-
**********************************************************
14-
15-
==================
16-
Version 1.4.0
17-
==================
18-
19-
Release date:
20-
=============
21-
2014/xx/xx
22-
23-
Added/fixed:
24-
============
25-
(x) #8 Console stays red after an error occurs
26-
27-
**********************************************************
28-
29-
30-
==================
31-
Version 1.2.0/1.3.0
32-
==================
33-
34-
Release date:
35-
=============
36-
2014/04/20
37-
38-
Added/fixed:
39-
============
40-
(*) #7 Show relative paths to make to file names easier to read
41-
(x) #5 When an error occurs, the console application will no longer wait for a key input press to prevent
42-
it from blocking a build
43-
44-
**********************************************************
45-
46-
47-
==================
48-
Version 1.1.0
49-
==================
50-
51-
Release date:
52-
=============
53-
2014/04/19
54-
55-
Added/fixed:
56-
============
57-
(+) #1 Created Chocolatey package for easier deployment
58-
(+) #2 Added support for VB projects
59-
(+) #3 Created NuGet package for deployment when being referenced from code
60-
61-
**********************************************************
62-
63-
64-
==================
65-
Version 1.0.0
66-
==================
67-
68-
Release date:
69-
=============
70-
2014/04/17
71-
72-
Added/fixed:
73-
============
74-
First initial release
75-
76-
**********************************************************
13+
**********************************************************
21.5 KB
Loading

lib/repositories.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<repositories>
3-
<repository path="..\src\GitLink.Test\packages.config" />
3+
<repository path="..\src\GitLink.Tests\packages.config" />
44
<repository path="..\src\GitLink\packages.config" />
55
</repositories>

scripts - Build - Debug.bat

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
@echo off
2+
3+
IF NOT "%VS110COMNTOOLS%" == "" (call "%VS110COMNTOOLS%vsvars32.bat")
4+
IF NOT "%VS120COMNTOOLS%" == "" (call "%VS120COMNTOOLS%vsvars32.bat")
5+
IF NOT "%VS130COMNTOOLS%" == "" (call "%VS130COMNTOOLS%vsvars32.bat")
6+
IF NOT "%VS140COMNTOOLS%" == "" (call "%VS140COMNTOOLS%vsvars32.bat")
7+
8+
9+
for /F %%A in ('dir /b src\*.sln') do call devenv src\%%A /build "Debug"
10+
pause

scripts - Build - Release.bat

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
@echo off
2+
3+
IF NOT "%VS110COMNTOOLS%" == "" (call "%VS110COMNTOOLS%vsvars32.bat")
4+
IF NOT "%VS120COMNTOOLS%" == "" (call "%VS120COMNTOOLS%vsvars32.bat")
5+
IF NOT "%VS130COMNTOOLS%" == "" (call "%VS130COMNTOOLS%vsvars32.bat")
6+
IF NOT "%VS140COMNTOOLS%" == "" (call "%VS140COMNTOOLS%vsvars32.bat")
7+
8+
9+
for /F %%A in ('dir /b src\*.sln') do call devenv src\%%A /build "Release"
10+
pause

src/GitLink.Test/ArgumentParserFacts.cs renamed to src/GitLink.Tests/ArgumentParserFacts.cs

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
// --------------------------------------------------------------------------------------------------------------------
66

77

8-
namespace GitLink.Test
8+
namespace GitLink.Tests
99
{
1010
using Catel.Test;
1111
using NUnit.Framework;
@@ -44,6 +44,14 @@ public void CorrectlyParsesHelp()
4444
Assert.IsTrue(context.IsHelp);
4545
}
4646

47+
[TestCase]
48+
public void CorrectlyParsesSolutionFile()
49+
{
50+
var context = ArgumentParser.ParseArguments("solutionDirectory -u http://github.com/CatenaLogic/GitLink -f someSolution");
51+
52+
Assert.AreEqual("someSolution", context.SolutionFile);
53+
}
54+
4755
[TestCase]
4856
public void CorrectlyParsesUrlAndBranchName()
4957
{
@@ -65,9 +73,40 @@ public void CorrectlyParsesUrlAndConfiguration()
6573
}
6674

6775
[TestCase]
68-
public void ThrowsExceptionForInvalidNumberOfArguments()
76+
public void CorrectlyParsesUrlAndConfigurationAndPlatform()
77+
{
78+
var context = ArgumentParser.ParseArguments("solutionDirectory -u http://github.com/CatenaLogic/GitLink -c someConfiguration -p \"Any CPU\"");
79+
80+
Assert.AreEqual("solutionDirectory", context.SolutionDirectory);
81+
Assert.AreEqual("http://github.com/CatenaLogic/GitLink", context.TargetUrl);
82+
Assert.AreEqual("someConfiguration", context.ConfigurationName);
83+
Assert.AreEqual("Any CPU", context.PlatformName);
84+
}
85+
86+
[TestCase]
87+
public void CorrectlyParsesUrlAndConfigurationWithDebug()
6988
{
70-
ExceptionTester.CallMethodAndExpectException<GitLinkException>(() => ArgumentParser.ParseArguments("solutionDirectory -l logFilePath extraArg"));
89+
var context = ArgumentParser.ParseArguments("solutionDirectory -u http://github.com/CatenaLogic/GitLink -debug -c someConfiguration");
90+
91+
Assert.AreEqual("solutionDirectory", context.SolutionDirectory);
92+
Assert.AreEqual("http://github.com/CatenaLogic/GitLink", context.TargetUrl);
93+
Assert.AreEqual("someConfiguration", context.ConfigurationName);
94+
Assert.IsTrue(context.IsDebug);
95+
}
96+
97+
[TestCase]
98+
public void CorrectlyParsesIgnoredProjects()
99+
{
100+
var context = ArgumentParser.ParseArguments("solutionDirectory -u http://github.com/CatenaLogic/GitLink -debug -c someConfiguration -ignore test1,test2");
101+
102+
Assert.AreEqual("solutionDirectory", context.SolutionDirectory);
103+
Assert.AreEqual("http://github.com/CatenaLogic/GitLink", context.TargetUrl);
104+
Assert.AreEqual("someConfiguration", context.ConfigurationName);
105+
Assert.IsTrue(context.IsDebug);
106+
107+
Assert.AreEqual(2, context.IgnoredProjects.Count);
108+
Assert.AreEqual("test1", context.IgnoredProjects[0]);
109+
Assert.AreEqual("test2", context.IgnoredProjects[1]);
71110
}
72111

73112
[TestCase]

0 commit comments

Comments
 (0)