HomePhabricator

Implement a dedicated "diffusion.blame" API method

Description

Implement a dedicated "diffusion.blame" API method

Summary:
Fixes T2451. Several motivations here, from strongest to weakest:

  • Currently, getting blame and file content are closely entwined. This makes fixing T9319 more difficult, and I want to fix it. I want to separate blame from content so there's more flexibility in how we approach this issue.
  • This makes pursuing T2450 easier, if it turns out to be a meaningful win.
  • If we can get a win on blame performance, we can do arc blame eventually if we want.

Test Plan:

  • Blamed in SVN, Git and Mercurial.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T2451

Differential Revision: https://secure.phabricator.com/D14957