GitLab has an open issue (https://gitlab.com/gitlab-org/gitlab-ce/issues/4084) to use git-appraise (https://github.com/google/git-appraise) for storing pull requests in the repository.
We have a different approach for this, which is more powerful (talking about how the data is stored).
Of course, our tool is not mature yet. Maybe gitlab can learn from what we've researched...