/// <summary> /// Updates a reference for a given repository by reference name /// </summary> /// <remarks> /// http://developer.github.com/v3/git/refs/#update-a-reference /// </remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="reference">The name of the reference</param> /// <param name="referenceUpdate">The updated reference data</param> /// <returns></returns> public Task <Reference> Update(long repositoryId, string reference, ReferenceUpdate referenceUpdate) { Ensure.ArgumentNotNullOrEmptyString(reference, "reference"); Ensure.ArgumentNotNull(referenceUpdate, "update"); return(ApiConnection.Patch <Reference>(ApiUrls.Reference(repositoryId, reference), referenceUpdate)); }
/// <summary> /// Updates a reference for a given repository by reference name /// </summary> /// <remarks> /// http://developer.github.com/v3/git/refs/#update-a-reference /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="reference">The name of the reference</param> /// <param name="referenceUpdate">The updated reference data</param> /// <returns></returns> public Task <Reference> Update(string owner, string name, string reference, ReferenceUpdate referenceUpdate) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNullOrEmptyString(reference, "reference"); Ensure.ArgumentNotNull(referenceUpdate, "update"); return(ApiConnection.Patch <Reference>(ApiUrls.Reference(owner, name, reference), referenceUpdate)); }
public Task <Reference> Update(long repositoryId, string reference, ReferenceUpdate referenceUpdate) { Ensure.ArgumentNotNullOrEmptyString(reference, nameof(reference)); Ensure.ArgumentNotNull(referenceUpdate, nameof(referenceUpdate)); if (reference.StartsWith("refs/")) { reference = reference.Replace("refs/", string.Empty); } return(ApiConnection.Patch <Reference>(ApiUrls.Reference(repositoryId, reference), referenceUpdate)); }
/// <summary> /// Updates a reference for a given repository by reference name /// </summary> /// <remarks> /// http://developer.github.com/v3/git/refs/#update-a-reference /// </remarks> /// <param name="repositoryId">The ID of the repository</param> /// <param name="reference">The name of the reference</param> /// <param name="referenceUpdate">The updated reference data</param> /// <returns></returns> public Task<Reference> Update(int repositoryId, string reference, ReferenceUpdate referenceUpdate) { Ensure.ArgumentNotNullOrEmptyString(reference, "reference"); Ensure.ArgumentNotNull(referenceUpdate, "update"); return ApiConnection.Patch<Reference>(ApiUrls.Reference(repositoryId, reference), referenceUpdate); }
/// <summary> /// Updates a reference for a given repository by reference name /// </summary> /// <remarks> /// http://developer.github.com/v3/git/refs/#update-a-reference /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="reference">The name of the reference</param> /// <param name="referenceUpdate">The updated reference data</param> /// <returns></returns> public Task<Reference> Update(string owner, string name, string reference, ReferenceUpdate referenceUpdate) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNullOrEmptyString(reference, "reference"); Ensure.ArgumentNotNull(referenceUpdate, "update"); return ApiConnection.Patch<Reference>(ApiUrls.Reference(owner, name, reference), referenceUpdate); }
public async Task CanUpdateAReference() { var firstBlob = new NewBlob { Content = "Hello World!", Encoding = EncodingType.Utf8 }; var firstBlobResult = await _client.GitDatabase.Blob.Create(_owner, _repository.Name, firstBlob); var secondBlob = new NewBlob { Content = "This is a test!", Encoding = EncodingType.Utf8 }; var secondBlobResult = await _client.GitDatabase.Blob.Create(_owner, _repository.Name, secondBlob); var firstTree = new NewTree(); firstTree.Tree.Add(new NewTreeItem { Mode = FileMode.File, Type = TreeType.Blob, Path = "README.md", Sha = firstBlobResult.Sha }); var firstTreeResult = await _client.GitDatabase.Tree.Create(_owner, _repository.Name, firstTree); var firstCommit = new NewCommit("This is a new commit", firstTreeResult.Sha); var firstCommitResult = await _client.GitDatabase.Commit.Create(_owner, _repository.Name, firstCommit); var newReference = new NewReference("heads/develop", firstCommitResult.Sha); await _fixture.Create(_owner, _repository.Name, newReference); var secondTree = new NewTree(); secondTree.Tree.Add(new NewTreeItem { Mode = FileMode.File, Type = TreeType.Blob, Path = "README.md", Sha = secondBlobResult.Sha }); var secondTreeResult = await _client.GitDatabase.Tree.Create(_owner, _repository.Name, secondTree); var secondCommit = new NewCommit("This is a new commit", secondTreeResult.Sha, firstCommitResult.Sha); var secondCommitResult = await _client.GitDatabase.Commit.Create(_owner, _repository.Name, secondCommit); var referenceUpdate = new ReferenceUpdate(secondCommitResult.Sha); var result = await _fixture.Update(_owner, _repository.Name, "heads/develop", referenceUpdate); Assert.Equal(secondCommitResult.Sha, result.Object.Sha); }
public async Task CanUpdateAReference() { // TODO: create a blob // TODO: create a tree // TODO: create a commit // TODO: use the SHA to create a reference var newReference = new NewReference("heads/develop", "sha"); await _fixture.Create("owner", "repo", newReference); var referenceUpdate = new ReferenceUpdate("sha"); var result = await _fixture.Update("owner", "repo", "heads/develop", referenceUpdate); Assert.NotNull(result); }