Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Vosmaer (GitLab) <jacob@gitlab.com>2018-07-19 19:47:56 +0300
committerJacob Vosmaer <jacob@gitlab.com>2018-07-20 13:32:00 +0300
commit0e5911036a748416326527978d79966721f79da6 (patch)
tree395450a3b1537d70ec3f6b7519a3265d53811138
parent493920d7ef2a0e9a5bceb2e84f6cae4e67479334 (diff)
Handle nil commit in buildLocalBranch
-rw-r--r--changelogs/unreleased/fix-local-branch-nil-commit.yml5
-rw-r--r--internal/service/ref/util.go11
-rw-r--r--internal/service/ref/util_test.go7
3 files changed, 20 insertions, 3 deletions
diff --git a/changelogs/unreleased/fix-local-branch-nil-commit.yml b/changelogs/unreleased/fix-local-branch-nil-commit.yml
new file mode 100644
index 000000000..a403f990f
--- /dev/null
+++ b/changelogs/unreleased/fix-local-branch-nil-commit.yml
@@ -0,0 +1,5 @@
+---
+title: Handle nil commit in buildLocalBranch
+merge_request: 822
+author:
+type: fixed
diff --git a/internal/service/ref/util.go b/internal/service/ref/util.go
index 6d328e615..5ab62c1de 100644
--- a/internal/service/ref/util.go
+++ b/internal/service/ref/util.go
@@ -23,11 +23,16 @@ func parseRef(ref []byte) ([][]byte, error) {
func buildLocalBranch(name []byte, target *pb.GitCommit) *pb.FindLocalBranchResponse {
response := &pb.FindLocalBranchResponse{
- Name: name,
- CommitId: target.Id,
- CommitSubject: target.Subject,
+ Name: name,
}
+ if target == nil {
+ return response
+ }
+
+ response.CommitId = target.Id
+ response.CommitSubject = target.Subject
+
if author := target.Author; author != nil {
response.CommitAuthor = &pb.FindLocalBranchCommitAuthor{
Name: author.Name,
diff --git a/internal/service/ref/util_test.go b/internal/service/ref/util_test.go
index f155ee7cc..5ae38c4f6 100644
--- a/internal/service/ref/util_test.go
+++ b/internal/service/ref/util_test.go
@@ -110,6 +110,13 @@ func TestBuildLocalBranch(t *testing.T) {
CommitCommitter: nil,
},
},
+ {
+ desc: "nil commit",
+ in: nil,
+ out: &pb.FindLocalBranchResponse{
+ Name: []byte("my-branch"),
+ },
+ },
}
for _, tc := range testCases {