Skip to content

Commit 100d895

Browse files
Hastaroth1Émile Dupont-Foisy
and
Émile Dupont-Foisy
authored
Add IRepositoryClient.CompareAsync (#873)
Co-authored-by: Émile Dupont-Foisy <[email protected]>
1 parent 2f83fe1 commit 100d895

File tree

4 files changed

+21
-0
lines changed

4 files changed

+21
-0
lines changed

NGitLab.Mock/Clients/RepositoryClient.cs

+7
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
using System.Collections.Generic;
33
using System.IO;
44
using System.Linq;
5+
using System.Threading;
6+
using System.Threading.Tasks;
57
using NGitLab.Mock.Internals;
68
using NGitLab.Models;
79

@@ -131,4 +133,9 @@ public CompareResults Compare(CompareQuery query)
131133
{
132134
throw new NotImplementedException();
133135
}
136+
137+
public Task<CompareResults> CompareAsync(CompareQuery query, CancellationToken cancellationToken = default)
138+
{
139+
throw new NotImplementedException();
140+
}
134141
}

NGitLab/IRepositoryClient.cs

+5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using System;
22
using System.Collections.Generic;
33
using System.IO;
4+
using System.Threading;
5+
using System.Threading.Tasks;
46
using NGitLab.Models;
57

68
namespace NGitLab;
@@ -53,4 +55,7 @@ public interface IRepositoryClient
5355
/// Compare two branches/tags/commit hashes
5456
/// </summary>
5557
CompareResults Compare(CompareQuery query);
58+
59+
/// <inheritdoc cref="Compare"/>
60+
Task<CompareResults> CompareAsync(CompareQuery query, CancellationToken cancellationToken = default);
5661
}

NGitLab/Impl/RepositoryClient.cs

+7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
using System.Globalization;
44
using System.IO;
55
using System.Linq;
6+
using System.Threading;
7+
using System.Threading.Tasks;
68
using NGitLab.Extensions;
79
using NGitLab.Models;
810

@@ -110,6 +112,11 @@ public CompareResults Compare(CompareQuery query)
110112
return _api.Get().To<CompareResults>(_repoPath + $@"/compare?from={query.Source}&to={query.Target}");
111113
}
112114

115+
public Task<CompareResults> CompareAsync(CompareQuery query, CancellationToken cancellationToken = default)
116+
{
117+
return _api.Get().ToAsync<CompareResults>(_repoPath + $@"/compare?from={query.Source}&to={query.Target}", cancellationToken);
118+
}
119+
113120
public Commit GetCommit(Sha1 sha) => _api.Get().To<Commit>(_repoPath + "/commits/" + sha);
114121

115122
public IEnumerable<Diff> GetCommitDiff(Sha1 sha) => _api.Get().GetAll<Diff>(_repoPath + "/commits/" + sha + "/diff");

NGitLab/PublicAPI.Unshipped.txt

+2
Original file line numberDiff line numberDiff line change
@@ -876,6 +876,7 @@ NGitLab.Impl.RepositoryClient
876876
NGitLab.Impl.RepositoryClient.Branches.get -> NGitLab.IBranchClient
877877
NGitLab.Impl.RepositoryClient.Commits.get -> System.Collections.Generic.IEnumerable<NGitLab.Models.Commit>
878878
NGitLab.Impl.RepositoryClient.Compare(NGitLab.Models.CompareQuery query) -> NGitLab.Models.CompareResults
879+
NGitLab.Impl.RepositoryClient.CompareAsync(NGitLab.Models.CompareQuery query, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task<NGitLab.Models.CompareResults>
879880
NGitLab.Impl.RepositoryClient.Contributors.get -> NGitLab.IContributorClient
880881
NGitLab.Impl.RepositoryClient.Files.get -> NGitLab.IFilesClient
881882
NGitLab.Impl.RepositoryClient.GetArchive(System.Action<System.IO.Stream> parser) -> void
@@ -1110,6 +1111,7 @@ NGitLab.IRepositoryClient
11101111
NGitLab.IRepositoryClient.Branches.get -> NGitLab.IBranchClient
11111112
NGitLab.IRepositoryClient.Commits.get -> System.Collections.Generic.IEnumerable<NGitLab.Models.Commit>
11121113
NGitLab.IRepositoryClient.Compare(NGitLab.Models.CompareQuery query) -> NGitLab.Models.CompareResults
1114+
NGitLab.IRepositoryClient.CompareAsync(NGitLab.Models.CompareQuery query, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task<NGitLab.Models.CompareResults>
11131115
NGitLab.IRepositoryClient.Contributors.get -> NGitLab.IContributorClient
11141116
NGitLab.IRepositoryClient.Files.get -> NGitLab.IFilesClient
11151117
NGitLab.IRepositoryClient.GetArchive(System.Action<System.IO.Stream> parser) -> void

0 commit comments

Comments
 (0)