Page MenuHomePhabricator

Allow two arbitrary revisions to be compared in Diffusion
Open, NormalPublic

Assigned To
None
Authored By
epriestley
Mar 1 2012, 6:40 AM
Tags
Referenced Files
None
Tokens
"Love" token, awarded by leoluk."Like" token, awarded by jbrownEP."Like" token, awarded by tomekj2ee."Mountain of Wealth" token, awarded by matelich."Love" token, awarded by 20after4."Love" token, awarded by niedzielski."Like" token, awarded by marceldegraaf.

Description

(Feature request from Deviantart.)

Revisions and Commits

Event Timeline

epriestley triaged this task as Normal priority.Mar 1 2012, 6:40 AM
epriestley added a project: Diffusion.
epriestley added a subscriber: epriestley.

Most of this code already exists, so this task is largely UI work. However, the diff view UI components are kind of complicated so it may be a little messy.

I'd start by adding some new controller to Diffusion, e.g. /diffusion/X/compare/. Have it show a form like:

old commit: [______]
new commit: [______]
     [show the diff]

We can work on how to discover/enter the UI later and make it less silly.

There's some discussion of how to add new controllers and stuff here, although it might be slightly out of date. Let me know if you run into issues:

http://www.phabricator.com/docs/phabricator/article/Phabricator_Code_Layout.html

If passed 'old' and 'new', have the controller load those commits instead of showing a form. Provided they exist, pull the diff.

You can do this by modifying DiffusionRawDiffQuery to accept a second revision. Currently, it always diffs against the previous revision; keep this default behavior but allow the caller to specify an alternate revision to diff against. Then use that functionality to pull the raw diff. You can just dump it to the screen at this point to verify that the feature basically works (takes two commits, shows you the diff between them) and everything else is UI. Getting here should be fairly straightforward.

After this things get really complicated though, so maybe send me a diff for this part and we can figure out where to go next?

Two9A changed file(s), attached 0: ; detached 0: .Jun 8 2012, 1:51 PM

It would also be great to be able to see all the commits in a range, e.g. master@{1week}...master. (Comes in handy when writing changelogs.)

This will be a very good feature to have considering Github can allow you to do it.

It would be fantastic to get a view of Diffusion diff's with id and title between builds, to hand to QA with each testable build.

chad changed the visibility from "All Users" to "Public (No Login Required)".Jul 3 2015, 5:19 AM
avivey added a project: Restricted Project.Dec 23 2015, 1:17 AM
avivey moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Dec 23 2015, 7:21 PM
avivey moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Jul 12 2016, 9:55 PM
avivey moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Sep 23 2016, 10:48 PM
avivey moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.

epriestley edited projects, added Diffusion (v3); removed Diffusion.