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

Tags
Tokens
"Love" token, awarded by niedzielski."Like" token, awarded by marceldegraaf.
Assigned To
None
Authored By
epriestley, Mar 1 2012

Description

(Feature request from Deviantart.)

Details

Subtasks
T4896: Move Audit to ApplicationTransactions
Differential Revisions
D15330: Compare two branches
Restricted Differential Revision
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
wotte added a subscriber: wotte.Dec 12 2013, 8:21 AM
carl added a subscriber: carl.Jun 23 2014, 6:56 PM

◀ Merged tasks: T5699.

nornagon added a subscriber: nornagon.EditedFeb 9 2015, 10:59 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.)

nickz added a subscriber: nickz.Mar 9 2015, 10:03 PM
tgm added a subscriber: tgm.Mar 24 2015, 11:01 AM

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.

marceldegraaf added a subscriber: marceldegraaf.
defuzz added a subscriber: defuzz.May 4 2015, 11:23 PM
softdie added a subscriber: softdie.Jun 3 2015, 1:47 AM
chad changed the visibility from "All Users" to "Public (No Login Required)".Jul 3 2015, 5:19 AM
avivey added a subscriber: avivey.Dec 8 2015, 6:34 PM
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
defuzz removed a subscriber: defuzz.Feb 23 2016, 6:34 PM
eadler added a subscriber: eadler.Apr 14 2016, 6:13 AM

Add Comment