From 9ac06526b16089937555135552ff42aab6c33540 Mon Sep 17 00:00:00 2001 From: Dillon Buchanan Date: Mon, 22 Dec 2014 22:02:02 -0500 Subject: [PATCH] Added missing fields to GitHubCommit --- Octokit.Tests/Clients/TagsClientTests.cs | 2 +- Octokit.Tests/Http/JsonHttpPipelineTests.cs | 2 +- Octokit.Tests/Models/CommitTests.cs | 4 +-- Octokit/Models/Response/GitHubCommit.cs | 1 + Octokit/Models/Response/GitHubCommitFile.cs | 5 +++ Octokit/Models/Response/GitHubCommitStats.cs | 36 ++++++++++++++++++++ Octokit/Models/Response/Signature.cs | 2 +- Octokit/Octokit-Mono.csproj | 1 + Octokit/Octokit-MonoAndroid.csproj | 1 + Octokit/Octokit-Monotouch.csproj | 1 + Octokit/Octokit-Portable.csproj | 1 + Octokit/Octokit-netcore45.csproj | 1 + Octokit/Octokit.csproj | 1 + 13 files changed, 53 insertions(+), 5 deletions(-) create mode 100644 Octokit/Models/Response/GitHubCommitStats.cs diff --git a/Octokit.Tests/Clients/TagsClientTests.cs b/Octokit.Tests/Clients/TagsClientTests.cs index bd6ec212..4db58afc 100644 --- a/Octokit.Tests/Clients/TagsClientTests.cs +++ b/Octokit.Tests/Clients/TagsClientTests.cs @@ -87,7 +87,7 @@ public class TagsClientTests { Name = "tagger-name", Email = "tagger-email", - Date = new DateTime(2013, 09, 03, 13, 42, 52, DateTimeKind.Utc) + Date = DateTimeOffset.Parse("2013-09-03T13:42:52Z") } }; diff --git a/Octokit.Tests/Http/JsonHttpPipelineTests.cs b/Octokit.Tests/Http/JsonHttpPipelineTests.cs index 1fe28547..23a6d5ec 100644 --- a/Octokit.Tests/Http/JsonHttpPipelineTests.cs +++ b/Octokit.Tests/Http/JsonHttpPipelineTests.cs @@ -169,7 +169,7 @@ namespace Octokit.Tests.Http Assert.Equal("tagger-name", response.BodyAsObject.Tagger.Name); Assert.Equal("tagger-email", response.BodyAsObject.Tagger.Email); //Adjust expected date for time zone adjustment - Assert.Equal(new DateTime(2011, 06, 17, 21, 53, 35), response.BodyAsObject.Tagger.Date); + Assert.Equal(DateTimeOffset.Parse("2011-06-17T14:53:35-07:00"), response.BodyAsObject.Tagger.Date); Assert.Equal(TaggedType.Commit, response.BodyAsObject.Object.Type); Assert.Equal("object-sha", response.BodyAsObject.Object.Sha); Assert.Equal("object-url", response.BodyAsObject.Object.Url); diff --git a/Octokit.Tests/Models/CommitTests.cs b/Octokit.Tests/Models/CommitTests.cs index 80f12917..c79ee5e2 100644 --- a/Octokit.Tests/Models/CommitTests.cs +++ b/Octokit.Tests/Models/CommitTests.cs @@ -18,13 +18,13 @@ public class CommitTests { Name = "author-name", Email = "author-email", - Date = new DateTime(2013, 10, 15, 13, 40, 14, DateTimeKind.Utc) + Date = DateTimeOffset.Parse("2013-10-15T13:40:14Z") }; var committer = new Signature { Name = "committer-name", Email = "committer-email", - Date = new DateTime(2013, 06, 29, 10, 12, 50, DateTimeKind.Utc) + Date = DateTimeOffset.Parse("2013-06-29T10:12:50Z") }; var commit = new Commit diff --git a/Octokit/Models/Response/GitHubCommit.cs b/Octokit/Models/Response/GitHubCommit.cs index 537df885..9a7c1fd9 100644 --- a/Octokit/Models/Response/GitHubCommit.cs +++ b/Octokit/Models/Response/GitHubCommit.cs @@ -14,6 +14,7 @@ namespace Octokit public Commit Commit { get; set; } public Author Committer { get; set; } public string HtmlUrl { get; set; } + public GitHubCommitStats Stats { get; set; } public IReadOnlyList Parents { get; set; } public IReadOnlyList Files { get; set; } } diff --git a/Octokit/Models/Response/GitHubCommitFile.cs b/Octokit/Models/Response/GitHubCommitFile.cs index 9f2b7995..daadf0f3 100644 --- a/Octokit/Models/Response/GitHubCommitFile.cs +++ b/Octokit/Models/Response/GitHubCommitFile.cs @@ -57,6 +57,11 @@ namespace Octokit /// public string Sha { get; set; } + /// + /// The patch associated with the commit + /// + public string Patch { get; set; } + internal string DebuggerDisplay { get diff --git a/Octokit/Models/Response/GitHubCommitStats.cs b/Octokit/Models/Response/GitHubCommitStats.cs new file mode 100644 index 00000000..940d3550 --- /dev/null +++ b/Octokit/Models/Response/GitHubCommitStats.cs @@ -0,0 +1,36 @@ +using System; +using System.Diagnostics; +using System.Globalization; + +namespace Octokit +{ + /// + /// An enhanced git commit containing links to additional resources + /// + [DebuggerDisplay("{DebuggerDisplay,nq}")] + public class GitHubCommitStats + { + /// + /// The number of additions made within the commit + /// + public int Additions { get; set; } + + /// + /// The number of deletions made within the commit + /// + public int Deletions { get; set; } + + /// + /// The total number of modifications within the commit + /// + public int Total { get; set; } + + internal string DebuggerDisplay + { + get + { + return String.Format(CultureInfo.InvariantCulture, "Stats: +{0} -{1} ={2}", Additions, Deletions, Total); + } + } + } +} diff --git a/Octokit/Models/Response/Signature.cs b/Octokit/Models/Response/Signature.cs index cb71b996..c1d8756d 100644 --- a/Octokit/Models/Response/Signature.cs +++ b/Octokit/Models/Response/Signature.cs @@ -6,6 +6,6 @@ namespace Octokit { public string Name { get; set; } public string Email { get; set; } - public DateTime Date { get; set; } + public DateTimeOffset Date { get; set; } } } \ No newline at end of file diff --git a/Octokit/Octokit-Mono.csproj b/Octokit/Octokit-Mono.csproj index c71c0157..cb1439e3 100644 --- a/Octokit/Octokit-Mono.csproj +++ b/Octokit/Octokit-Mono.csproj @@ -324,6 +324,7 @@ + diff --git a/Octokit/Octokit-MonoAndroid.csproj b/Octokit/Octokit-MonoAndroid.csproj index a3b4d15c..7321d577 100644 --- a/Octokit/Octokit-MonoAndroid.csproj +++ b/Octokit/Octokit-MonoAndroid.csproj @@ -334,6 +334,7 @@ + diff --git a/Octokit/Octokit-Monotouch.csproj b/Octokit/Octokit-Monotouch.csproj index 5f68cdec..aee66d3d 100644 --- a/Octokit/Octokit-Monotouch.csproj +++ b/Octokit/Octokit-Monotouch.csproj @@ -329,6 +329,7 @@ + diff --git a/Octokit/Octokit-Portable.csproj b/Octokit/Octokit-Portable.csproj index 60244070..012d5d2e 100644 --- a/Octokit/Octokit-Portable.csproj +++ b/Octokit/Octokit-Portable.csproj @@ -315,6 +315,7 @@ + diff --git a/Octokit/Octokit-netcore45.csproj b/Octokit/Octokit-netcore45.csproj index eece5f70..fa1851e3 100644 --- a/Octokit/Octokit-netcore45.csproj +++ b/Octokit/Octokit-netcore45.csproj @@ -326,6 +326,7 @@ + diff --git a/Octokit/Octokit.csproj b/Octokit/Octokit.csproj index 0499c2b4..b87cfc87 100644 --- a/Octokit/Octokit.csproj +++ b/Octokit/Octokit.csproj @@ -89,6 +89,7 @@ +