Skip to content

GitLab Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
GitLab FOSS
GitLab FOSS
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 0
    • Merge Requests 0
  • Requirements
    • Requirements
    • List
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • GitLab.org
  • GitLab FOSSGitLab FOSS
  • Merge Requests
  • !30675

Merged
Opened Jul 12, 2019 by Oleg Zubchenko@RGBDContributor5 of 8 tasks completed5/8 tasks

Expose git blame in api

  • Overview 21
  • Commits 1
  • Pipelines 11
  • Changes 5

What does this MR do?

This merge request exposes git blame available in web version in GitLab API.

Fixes #51345 (closed).

Example request

GET /api/v4/projects/49/repository/files/files%2Fruby%2Fpopen%2Erb/blame

Example response

[
  {
    "commit": {
      "id": "913c66a37b4a45b9769037c55c2d238bd0942d2e",
      "message": "Files, encoding and much more\n\nSigned-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>\n",
      "parent_ids": [
        "cfe32cf61b73a0d5e9f13e774abde7ff789b1660"
      ],
      "authored_date": "2014-02-27T08:14:56.000Z",
      "author_name": "Dmitriy Zaporozhets",
      "author_email": "dmitriy.zaporozhets@gmail.com",
      "committed_date": "2014-02-27T08:14:56.000Z",
      "committer_name": "Dmitriy Zaporozhets",
      "committer_email": "dmitriy.zaporozhets@gmail.com"
    },
    "lines": [
      "require 'fileutils'",
      "require 'open3'",
      ""
    ]
  }
]

Does this MR meet the acceptance criteria?

Conformity

  • Changelog entry
  • Documentation created/updated or follow-up review issue created
  • Code review guidelines
  • Merge request performance guidelines
  • Style guides
  • Database guides
  • Separation of EE specific content

Performance and testing

Git blame is a heavy operation and may potentially result in Denial of Service if used on big repositories.

  • Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process.
  • [-] Tested in all supported browsers

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team
Edited Jul 16, 2019 by Oleg Zubchenko
Assignee
Assign to
Reviewer
Request review from
12.2
Milestone
12.2 (Past due)
Assign milestone
Time tracking
Reference: gitlab-org/gitlab-foss!30675
Source branch: add-git-blame-api

Revert this merge request

This will create a new commit in order to revert the existing changes.

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.