Opened 8 years ago

Last modified 6 years ago

#716 new enhancement

Add parent-rev to change and use this in console

Reported by: marcusl Owned by:
Priority: major Milestone: 0.9.+
Version: master Keywords: git hg darcs
Cc: sam@…

Description

The console currently sorts revision either by rev-id (int) or time.

Neither is appropriate for DVCS:es as rebasing may cause older commits have newer as parents.

I suppose if time is not time-of-commit but time-of-notification, we're alright, but it'd be nice to have more information about commits/changesets available in the buildbot, to make things right.

This is especially important when we the revision graph is non-linear (i.e. the typical DAG of merges/branches that DVCS:es allow).

Change History (6)

comment:1 Changed 8 years ago by dustin

  • Type changed from defect to enhancement

I've been thinking about this, too, but a bit more generally. The problem with this idea is that it requires deducing a total order from propositions of the form n-1 < n, which is not computationally very quick.

I'd like source-related information to be handled *completely* by a single object, which understands all of the relevant quirks of its underlying VC (or VC's - this would help accomplish support for projects built from mulitple repositories). The status displays would get various opaque tokens from this source manager, and use them to build the display. This way, we could do away with the relative sourcestamps, for example, and sourcestamps with None in the branch attribute.

My thinking had also been to let the source manager create the required Source steps, such that a generic BuildFactory? could work with any VC. But this is tricky, and doesn't seem so critical at this point.

This is obviously more challenging now that Brian has stuck that corner of things into the DB, but I bet we could pull it off.

More enticingly, I think we could pull this off in parallel with the existing change manager and source-step stuff, such that users would have the option of using the old, wonky (#669), client-side source-related stuff, or the new, entirely server-side stuff.

What do you think? This would probably be an 0.8.1 project.

comment:2 Changed 8 years ago by dustin

  • Milestone changed from undecided to 0.8.+

comment:3 Changed 8 years ago by dustin

  • Milestone changed from 0.8.+ to 0.8.1

We need this information. Ideally, it could come from the ChangeSources?.

comment:4 Changed 7 years ago by dustin

  • Keywords git hg darcs added
  • Milestone changed from 0.8.2 to 0.8.+

Interesting: darcs arbitrarily reorders patches, so a particular change has no specific parent!

comment:5 Changed 6 years ago by cortana

  • Cc sam@… added

comment:6 Changed 6 years ago by dustin

  • Milestone changed from 0.8.+ to 0.9.+
Note: See TracTickets for help on using tickets.