Skip to content

Commit c5e8936

Browse files
committed
Merge pull request #188 from graemefoster/UpgradeLibGit2SharpToPassCredentialsForBuildingPullRequests
Upgrade libgit2sharp
2 parents 7d4fd12 + aa1e441 commit c5e8936

File tree

14 files changed

+71
-37
lines changed

14 files changed

+71
-37
lines changed

AcceptanceTests/AcceptanceTests.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@
3737
<Reference Include="ApprovalUtilities">
3838
<HintPath>..\packages\ApprovalUtilities.3.0.5\lib\net35\ApprovalUtilities.dll</HintPath>
3939
</Reference>
40-
<Reference Include="LibGit2Sharp, Version=0.17.0.0, Culture=neutral, processorArchitecture=MSIL">
40+
<Reference Include="LibGit2Sharp, Version=0.18.1.0, Culture=neutral, processorArchitecture=MSIL">
4141
<SpecificVersion>False</SpecificVersion>
42-
<HintPath>..\packages\LibGit2Sharp.0.17.0.0\lib\net35\LibGit2Sharp.dll</HintPath>
42+
<HintPath>..\packages\LibGit2Sharp.0.18.1.0\lib\net40\LibGit2Sharp.dll</HintPath>
4343
</Reference>
4444
<Reference Include="Shouldly">
4545
<HintPath>..\packages\Shouldly.2.1.1\lib\net40\Shouldly.dll</HintPath>
@@ -120,9 +120,9 @@
120120
<PostBuildEvent>
121121
if not exist "$(TargetDir)NativeBinaries" md "$(TargetDir)NativeBinaries"
122122
if not exist "$(TargetDir)NativeBinaries\x86" md "$(TargetDir)NativeBinaries\x86"
123-
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.17.0.0\lib\net35\NativeBinaries\x86\*.*" "$(TargetDir)NativeBinaries\x86"
123+
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.18.1.0\lib\net40\NativeBinaries\x86\*.*" "$(TargetDir)NativeBinaries\x86"
124124
if not exist "$(TargetDir)NativeBinaries\amd64" md "$(TargetDir)NativeBinaries\amd64"
125-
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.17.0.0\lib\net35\NativeBinaries\amd64\*.*" "$(TargetDir)NativeBinaries\amd64"</PostBuildEvent>
125+
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.18.1.0\lib\net40\NativeBinaries\amd64\*.*" "$(TargetDir)NativeBinaries\amd64"</PostBuildEvent>
126126
</PropertyGroup>
127127
<Import Project="..\packages\Fody.1.22.1\build\Fody.targets" Condition="Exists('..\packages\Fody.1.22.1\build\Fody.targets')" />
128128
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

AcceptanceTests/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<package id="ApprovalTests" version="3.0.5" targetFramework="net40" />
44
<package id="ApprovalUtilities" version="3.0.5" targetFramework="net40" />
55
<package id="Fody" version="1.22.1" targetFramework="net40" developmentDependency="true" />
6-
<package id="LibGit2Sharp" version="0.17.0.0" targetFramework="net40" />
6+
<package id="LibGit2Sharp" version="0.18.1.0" targetFramework="net40" />
77
<package id="Shouldly" version="2.1.1" targetFramework="net40" />
88
<package id="xunit" version="1.9.2" targetFramework="net35" />
99
<package id="xunit.extensions" version="1.9.2" targetFramework="net35" />

GitVersionCore/BuildServers/GitHelper.cs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace GitVersion
22
{
3+
using System.Collections.Generic;
34
using System.Linq;
45
using LibGit2Sharp;
56

@@ -36,7 +37,7 @@ public static void NormalizeGitDirectory(string gitDirectory, Arguments argument
3637
}
3738
else
3839
{
39-
CreateFakeBranchPointingAtThePullRequestTip(repo);
40+
CreateFakeBranchPointingAtThePullRequestTip(repo, arguments);
4041
}
4142
}
4243
}
@@ -70,10 +71,13 @@ static FetchOptions BuildFetchOptions(string username, string password)
7071
return fetchOptions;
7172
}
7273

73-
static void CreateFakeBranchPointingAtThePullRequestTip(Repository repo)
74+
static void CreateFakeBranchPointingAtThePullRequestTip(Repository repo, Arguments arguments)
7475
{
7576
var remote = repo.Network.Remotes.Single();
76-
var remoteTips = repo.Network.ListReferences(remote);
77+
78+
var remoteTips = string.IsNullOrEmpty(arguments.Username) ?
79+
GetRemoteTipsForAnonymousUser(repo, remote) :
80+
GetRemoteTipsUsingUsernamePasswordCredentials(repo, remote, arguments.Username, arguments.Password);
7781

7882
var headTipSha = repo.Head.Tip.Sha;
7983

@@ -110,6 +114,21 @@ static void CreateFakeBranchPointingAtThePullRequestTip(Repository repo)
110114
repo.Checkout(fakeBranchName);
111115
}
112116

117+
static IEnumerable<DirectReference> GetRemoteTipsUsingUsernamePasswordCredentials(Repository repo, Remote remote, string username, string password)
118+
{
119+
return repo.Network.ListReferences(remote,
120+
new UsernamePasswordCredentials
121+
{
122+
Username = username,
123+
Password = password
124+
});
125+
}
126+
127+
static IEnumerable<DirectReference> GetRemoteTipsForAnonymousUser(Repository repo, Remote remote)
128+
{
129+
return repo.Network.ListReferences(remote);
130+
}
131+
113132
static void CreateMissingLocalBranchesFromRemoteTrackingOnes(Repository repo, string remoteName)
114133
{
115134
var prefix = string.Format("refs/remotes/{0}/", remoteName);

GitVersionCore/GitVersionCore.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@
3636
<HintPath>..\packages\JetBrainsAnnotations.Fody.1.0.2\Lib\JetBrains.Annotations.dll</HintPath>
3737
<Private>False</Private>
3838
</Reference>
39-
<Reference Include="LibGit2Sharp, Version=0.17.0.0, Culture=neutral, processorArchitecture=MSIL">
39+
<Reference Include="LibGit2Sharp, Version=0.18.1.0, Culture=neutral, processorArchitecture=MSIL">
4040
<SpecificVersion>False</SpecificVersion>
41-
<HintPath>..\packages\LibGit2Sharp.0.17.0.0\lib\net35\LibGit2Sharp.dll</HintPath>
41+
<HintPath>..\packages\LibGit2Sharp.0.18.1.0\lib\net40\LibGit2Sharp.dll</HintPath>
4242
</Reference>
4343
<Reference Include="System" />
4444
<Reference Include="System.Core" />
@@ -138,9 +138,9 @@
138138
<PostBuildEvent>
139139
if not exist "$(TargetDir)NativeBinaries" md "$(TargetDir)NativeBinaries"
140140
if not exist "$(TargetDir)NativeBinaries\x86" md "$(TargetDir)NativeBinaries\x86"
141-
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.17.0.0\lib\net35\NativeBinaries\x86\*.*" "$(TargetDir)NativeBinaries\x86"
141+
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.18.1.0\lib\net40\NativeBinaries\x86\*.*" "$(TargetDir)NativeBinaries\x86"
142142
if not exist "$(TargetDir)NativeBinaries\amd64" md "$(TargetDir)NativeBinaries\amd64"
143-
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.17.0.0\lib\net35\NativeBinaries\amd64\*.*" "$(TargetDir)NativeBinaries\amd64"</PostBuildEvent>
143+
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.18.1.0\lib\net40\NativeBinaries\amd64\*.*" "$(TargetDir)NativeBinaries\amd64"</PostBuildEvent>
144144
</PropertyGroup>
145145
<Target Name="Clean">
146146
<ItemGroup>

GitVersionCore/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<package id="Fielder.Fody" version="1.0.7.0" targetFramework="net40" developmentDependency="true" />
55
<package id="Fody" version="1.22.1" targetFramework="net40" developmentDependency="true" />
66
<package id="JetBrainsAnnotations.Fody" version="1.0.2" targetFramework="net40" developmentDependency="true" />
7-
<package id="LibGit2Sharp" version="0.17.0.0" targetFramework="net40" />
7+
<package id="LibGit2Sharp" version="0.18.1.0" targetFramework="net40" />
88
<package id="PepitaPackage" version="1.20.0.0" targetFramework="net40" developmentDependency="true" />
99
<package id="Publicize.Fody" version="1.3.6.0" targetFramework="net40" developmentDependency="true" />
1010
<package id="Virtuosity.Fody" version="1.19.6.0" targetFramework="net40" developmentDependency="true" />

GitVersionExe/GitVersionExe.csproj

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<Private>False</Private>
4040
</Reference>
4141
<Reference Include="LibGit2Sharp">
42-
<HintPath>..\packages\LibGit2Sharp.0.17.0.0\lib\net35\LibGit2Sharp.dll</HintPath>
42+
<HintPath>..\packages\LibGit2Sharp.0.18.1.0\lib\net40\LibGit2Sharp.dll</HintPath>
4343
</Reference>
4444
<Reference Include="System" />
4545
<Reference Include="System.Core" />
@@ -76,11 +76,11 @@
7676
</None>
7777
</ItemGroup>
7878
<ItemGroup>
79-
<EmbeddedResource Include="..\Packages\LibGit2Sharp.0.17.0.0\lib\net35\NativeBinaries\amd64\git2-06d772d.dll">
80-
<Link>costura64\git2-06d772d.dll</Link>
79+
<EmbeddedResource Include="..\packages\LibGit2Sharp.0.18.1.0\lib\net40\NativeBinaries\amd64\git2-90befde.dll">
80+
<Link>costura64\git2-90befde.dll</Link>
8181
</EmbeddedResource>
82-
<EmbeddedResource Include="..\Packages\LibGit2Sharp.0.17.0.0\lib\net35\NativeBinaries\x86\git2-06d772d.dll">
83-
<Link>costura32\git2-06d772d.dll</Link>
82+
<EmbeddedResource Include="..\packages\LibGit2Sharp.0.18.1.0\lib\net40\NativeBinaries\x86\git2-90befde.dll">
83+
<Link>costura32\git2-90befde.dll</Link>
8484
</EmbeddedResource>
8585
<Content Include="FodyWeavers.xml">
8686
<SubType>Designer</SubType>
@@ -161,4 +161,12 @@ foreach (var item in filesToCleanup)
161161
<CosturaCleanup Config="FodyWeavers.xml" Files="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" />
162162
</Target>
163163
<Import Project="..\packages\PepitaPackage.1.20.0.0\build\PepitaPackage.targets" Condition="Exists('..\packages\PepitaPackage.1.20.0.0\build\PepitaPackage.targets')" />
164+
<PropertyGroup>
165+
<PostBuildEvent>
166+
if not exist "$(TargetDir)NativeBinaries" md "$(TargetDir)NativeBinaries"
167+
if not exist "$(TargetDir)NativeBinaries\x86" md "$(TargetDir)NativeBinaries\x86"
168+
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.18.1.0\lib\net40\NativeBinaries\x86\*.*" "$(TargetDir)NativeBinaries\x86"
169+
if not exist "$(TargetDir)NativeBinaries\amd64" md "$(TargetDir)NativeBinaries\amd64"
170+
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.18.1.0\lib\net40\NativeBinaries\amd64\*.*" "$(TargetDir)NativeBinaries\amd64"</PostBuildEvent>
171+
</PropertyGroup>
164172
</Project>

GitVersionExe/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<package id="Fielder.Fody" version="1.0.7.0" targetFramework="net40" developmentDependency="true" />
66
<package id="Fody" version="1.22.1" targetFramework="net40" developmentDependency="true" />
77
<package id="JetBrainsAnnotations.Fody" version="1.0.2" targetFramework="net40" developmentDependency="true" />
8-
<package id="LibGit2Sharp" version="0.17.0.0" targetFramework="net40" />
8+
<package id="LibGit2Sharp" version="0.18.1.0" targetFramework="net40" />
99
<package id="PepitaPackage" version="1.20.0.0" targetFramework="net40" developmentDependency="true" />
1010
<package id="Publicize.Fody" version="1.3.6.0" targetFramework="net40" developmentDependency="true" />
1111
<package id="Virtuosity.Fody" version="1.19.6.0" targetFramework="net40" developmentDependency="true" />

GitVersionTask/GitVersionTask.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@
3232
<UseVSHostingProcess>false</UseVSHostingProcess>
3333
</PropertyGroup>
3434
<ItemGroup>
35-
<Reference Include="LibGit2Sharp, Version=0.17.0.0, Culture=neutral, processorArchitecture=MSIL">
35+
<Reference Include="LibGit2Sharp, Version=0.18.1.0, Culture=neutral, processorArchitecture=MSIL">
3636
<SpecificVersion>False</SpecificVersion>
37-
<HintPath>..\packages\LibGit2Sharp.0.17.0.0\lib\net35\LibGit2Sharp.dll</HintPath>
37+
<HintPath>..\packages\LibGit2Sharp.0.18.1.0\lib\net40\LibGit2Sharp.dll</HintPath>
3838
</Reference>
3939
<Reference Include="Microsoft.Build" />
4040
<Reference Include="Microsoft.Build.Framework" />
@@ -119,8 +119,8 @@
119119
<PostBuildEvent>
120120
if not exist "$(TargetDir)NativeBinaries" md "$(TargetDir)NativeBinaries"
121121
if not exist "$(TargetDir)NativeBinaries\x86" md "$(TargetDir)NativeBinaries\x86"
122-
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.17.0.0\lib\net35\NativeBinaries\x86\*.*" "$(TargetDir)NativeBinaries\x86"
122+
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.18.1.0\lib\net40\NativeBinaries\x86\*.*" "$(TargetDir)NativeBinaries\x86"
123123
if not exist "$(TargetDir)NativeBinaries\amd64" md "$(TargetDir)NativeBinaries\amd64"
124-
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.17.0.0\lib\net35\NativeBinaries\amd64\*.*" "$(TargetDir)NativeBinaries\amd64"</PostBuildEvent>
124+
xcopy /s /y /d "$(SolutionDir)packages\LibGit2Sharp.0.18.1.0\lib\net40\NativeBinaries\amd64\*.*" "$(TargetDir)NativeBinaries\amd64"</PostBuildEvent>
125125
</PropertyGroup>
126126
</Project>

GitVersionTask/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
<packages>
33
<package id="Caseless.Fody" version="1.3.3.0" targetFramework="net40" developmentDependency="true" />
44
<package id="Fody" version="1.22.1" targetFramework="net40" developmentDependency="true" />
5-
<package id="LibGit2Sharp" version="0.17.0.0" targetFramework="net40" />
5+
<package id="LibGit2Sharp" version="0.18.1.0" targetFramework="net40" />
66
<package id="PepitaPackage" version="1.20.0.0" targetFramework="net40" developmentDependency="true" />
77
</packages>

Tests/GitHelperTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,9 @@ static void CreateFakePullRequest(string repoPath, string issueNumber)
104104

105105
var sign = Constants.SignatureNow();
106106
var m = repo.ObjectDatabase.CreateCommit(
107+
sign, sign,
107108
string.Format("Merge pull request #{0} from nulltoken/ntk/fix/{0}", issueNumber)
108-
, sign, sign, c.Tree, new[] {repo.Branches["develop"].Tip, c});
109+
, c.Tree, new[] {repo.Branches["develop"].Tip, c}, true);
109110

110111
repo.Refs.Add(string.Format("refs/pull/{0}/merge", issueNumber), m.Id);
111112

0 commit comments

Comments
 (0)