mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-03 11:05:56 +00:00
stubbed prototype method to support comparing two commits
This commit is contained in:
@@ -264,5 +264,16 @@ namespace Octokit
|
||||
/// <param name="update">New values to update the repository with</param>
|
||||
/// <returns>The updated <see cref="T:Octokit.Repository"/></returns>
|
||||
Task<Repository> Edit(string owner, string name, RepositoryUpdate update);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="owner"></param>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="base"></param>
|
||||
/// <param name="head"></param>
|
||||
/// <returns></returns>
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "base")]
|
||||
Task<CompareResult> Compare(string owner, string name, string @base, string head);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -426,5 +426,22 @@ namespace Octokit
|
||||
|
||||
return ApiConnection.Get<Branch>(ApiUrls.RepoBranch(owner, repositoryName, branchName));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="owner"></param>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="base"></param>
|
||||
/// <param name="head"></param>
|
||||
/// <returns></returns>
|
||||
public Task<CompareResult> Compare(string owner, string name, string @base, string head)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
|
||||
Ensure.ArgumentNotNullOrEmptyString(name, "repositoryName");
|
||||
Ensure.ArgumentNotNullOrEmptyString(@base, "branchName");
|
||||
|
||||
return ApiConnection.Get<CompareResult>(ApiUrls.RepoCompare(owner, name, @base, head));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1049,6 +1049,21 @@ namespace Octokit
|
||||
return "repos/{0}/{1}/tags".FormatUri(owner, name);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the <see cref="Uri"/> for comparing two commits.
|
||||
/// </summary>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="repositoryName">The name of the repository</param>
|
||||
/// <param name="base">The base commit</param>
|
||||
/// <param name="head">The head commit</param>
|
||||
/// <returns></returns>
|
||||
public static Uri RepoCompare(string owner, string repositoryName, string @base, string head)
|
||||
{
|
||||
var encodedBase = @base.UriEncode();
|
||||
var encodedHead = head.UriEncode();
|
||||
return "repos/{0}/{1}/compare/{2}...{3}".FormatUri(owner, repositoryName, encodedBase, encodedHead);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the <see cref="Uri"/> for a repository branch.
|
||||
/// </summary>
|
||||
|
||||
@@ -26,6 +26,11 @@ namespace Octokit
|
||||
return new Uri(string.Format(CultureInfo.InvariantCulture, pattern, args), UriKind.Relative);
|
||||
}
|
||||
|
||||
public static string UriEncode(this string input)
|
||||
{
|
||||
return System.Net.WebUtility.UrlEncode(input);
|
||||
}
|
||||
|
||||
static readonly Regex _optionalQueryStringRegex = new Regex("\\{\\?([^}]+)\\}");
|
||||
public static Uri ExpandUriTemplate(this string template, object values)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Octokit
|
||||
{
|
||||
public class CompareResult
|
||||
{
|
||||
public string Url { get; set; }
|
||||
public string HtmlUrl { get; set; }
|
||||
public string PermalinkUrl { get; set; }
|
||||
public string DiffUrl { get; set; }
|
||||
public string PatchUrl { get; set; }
|
||||
public Commit BaseCommit { get; set; }
|
||||
public string Status { get; set; }
|
||||
public int AheadBy { get; set; }
|
||||
public int BehindBy { get; set; }
|
||||
public int TotalCommits { get; set; }
|
||||
public IReadOnlyCollection<Commit> Commits { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -310,6 +310,7 @@
|
||||
<Compile Include="Models\Response\SearchUsersResult.cs" />
|
||||
<Compile Include="Models\Response\SearchCodeResult.cs" />
|
||||
<Compile Include="Models\Response\SearchIssuesResult.cs" />
|
||||
<Compile Include="Models\Response\CompareResult.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -321,6 +321,7 @@
|
||||
<Compile Include="Models\Response\SearchUsersResult.cs" />
|
||||
<Compile Include="Models\Response\SearchCodeResult.cs" />
|
||||
<Compile Include="Models\Response\SearchIssuesResult.cs" />
|
||||
<Compile Include="Models\Response\CompareResult.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -316,6 +316,7 @@
|
||||
<Compile Include="Models\Response\SearchUsersResult.cs" />
|
||||
<Compile Include="Models\Response\SearchCodeResult.cs" />
|
||||
<Compile Include="Models\Response\SearchIssuesResult.cs" />
|
||||
<Compile Include="Models\Response\CompareResult.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -308,6 +308,7 @@
|
||||
<Compile Include="Models\Response\SearchUsersResult.cs" />
|
||||
<Compile Include="Models\Response\SearchCodeResult.cs" />
|
||||
<Compile Include="Models\Response\SearchIssuesResult.cs" />
|
||||
<Compile Include="Models\Response\CompareResult.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CodeAnalysisDictionary Include="..\CustomDictionary.xml">
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
<Compile Include="Models\Response\CommitComment.cs" />
|
||||
<Compile Include="Helpers\HttpClientExtensions.cs" />
|
||||
<Compile Include="Http\ProductHeaderValue.cs" />
|
||||
<Compile Include="Models\Response\CompareResult.cs" />
|
||||
<Compile Include="Models\Response\DeploymentStatus.cs" />
|
||||
<Compile Include="Clients\DeploymentStatusClient.cs" />
|
||||
<Compile Include="Clients\IDeploymentStatusClient.cs" />
|
||||
|
||||
Reference in New Issue
Block a user