diff --git a/Octokit/Clients/IReferencesClient.cs b/Octokit/Clients/IReferencesClient.cs
index b07ab5fc..b9ba29c8 100644
--- a/Octokit/Clients/IReferencesClient.cs
+++ b/Octokit/Clients/IReferencesClient.cs
@@ -6,18 +6,78 @@ namespace Octokit
{
public interface IReferencesClient
{
+ ///
+ /// Gets a reference for a given repository by reference name
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#get-a-reference
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ /// Tha name of the reference
+ ///
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get",
Justification = "Method makes a network request")]
Task Get(string owner, string name, string reference);
+ ///
+ /// Gets all references for a given repository
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#get-all-references
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ ///
Task> GetAll(string owner, string name);
+ ///
+ /// Gets references for a given repository by sub-namespace, i.e. "tags" or "heads"
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#get-all-references
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ /// The sub-namespace to get references for
+ ///
Task> GetAll(string owner, string name, string subNamespace);
+ ///
+ /// Creates a reference for a given repository
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#create-a-reference
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ /// The reference to create
+ ///
Task Create(string owner, string name, NewReference reference);
+ ///
+ /// Updates a reference for a given repository by reference name
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#update-a-reference
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ /// The name of the reference
+ /// The updated reference data
+ ///
Task Update(string owner, string name, string reference, ReferenceUpdate referenceUpdate);
+ ///
+ /// Deletes a reference for a given repository by reference name
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#delete-a-reference
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ /// The name of the reference
+ ///
Task Delete(string owner, string name, string reference);
}
}
\ No newline at end of file
diff --git a/Octokit/Clients/ReferencesClient.cs b/Octokit/Clients/ReferencesClient.cs
index 0e73210e..c4be19ac 100644
--- a/Octokit/Clients/ReferencesClient.cs
+++ b/Octokit/Clients/ReferencesClient.cs
@@ -10,6 +10,16 @@ namespace Octokit
{
}
+ ///
+ /// Gets a reference for a given repository by reference name
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#get-a-reference
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ /// Tha name of the reference
+ ///
public Task Get(string owner, string name, string reference)
{
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
@@ -19,6 +29,15 @@ namespace Octokit
return ApiConnection.Get(ApiUrls.Reference(owner, name, reference));
}
+ ///
+ /// Gets all references for a given repository
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#get-all-references
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ ///
public Task> GetAll(string owner, string name)
{
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
@@ -27,6 +46,16 @@ namespace Octokit
return ApiConnection.GetAll(ApiUrls.Reference(owner, name));
}
+ ///
+ /// Gets references for a given repository by sub-namespace, i.e. "tags" or "heads"
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#get-all-references
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ /// The sub-namespace to get references for
+ ///
public Task> GetAll(string owner, string name, string subNamespace)
{
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
@@ -36,6 +65,16 @@ namespace Octokit
return ApiConnection.GetAll(ApiUrls.Reference(owner, name, subNamespace));
}
+ ///
+ /// Creates a reference for a given repository
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#create-a-reference
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ /// The reference to create
+ ///
public Task Create(string owner, string name, NewReference reference)
{
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
@@ -45,6 +84,17 @@ namespace Octokit
return ApiConnection.Post(ApiUrls.Reference(owner, name), reference);
}
+ ///
+ /// Updates a reference for a given repository by reference name
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#update-a-reference
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ /// The name of the reference
+ /// The updated reference data
+ ///
public Task Update(string owner, string name, string reference, ReferenceUpdate referenceUpdate)
{
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
@@ -55,6 +105,16 @@ namespace Octokit
return ApiConnection.Patch(ApiUrls.Reference(owner, name, reference), referenceUpdate);
}
+ ///
+ /// Deletes a reference for a given repository by reference name
+ ///
+ ///
+ /// http://developer.github.com/v3/git/refs/#delete-a-reference
+ ///
+ /// The owner of the repository
+ /// The name of the repository
+ /// The name of the reference
+ ///
public Task Delete(string owner, string name, string reference)
{
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");