diff options
author | Jacob Vosmaer (GitLab) <jacob@gitlab.com> | 2018-07-19 19:47:56 +0300 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2018-07-20 13:32:00 +0300 |
commit | 0e5911036a748416326527978d79966721f79da6 (patch) | |
tree | 395450a3b1537d70ec3f6b7519a3265d53811138 | |
parent | 493920d7ef2a0e9a5bceb2e84f6cae4e67479334 (diff) |
Handle nil commit in buildLocalBranch
-rw-r--r-- | changelogs/unreleased/fix-local-branch-nil-commit.yml | 5 | ||||
-rw-r--r-- | internal/service/ref/util.go | 11 | ||||
-rw-r--r-- | internal/service/ref/util_test.go | 7 |
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 { |