bzr blame: annotate --revision takes exactly one revision identifier; ideally any arbitary range should work

Bug #700878 reported by Paul Sladen
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
Wishlist
Unassigned

Bug Description

Found while debugging bug #694283. Bzr blame is restricted to operating only with a single revision ID with the current rather than operating on any arbitrary pair. Following a 'bzr diff' to confirm my hunch, I want to trivally alter the command to perform 'bzr blame' on the same time period:

  ubiquity$ bzr blame -r tag:2.2.23..tag:2.4.8 ./gui/gtk/stepUserInfo.ui
  bzr: ERROR: bzr annotate --revision takes exactly one revision identifier

The easiest thing to do would be to take the highest entry in the range and perform 'bzr blame' with that.

Paul Sladen (sladen)
description: updated
Paul Sladen (sladen)
affects: bzr-mirror → bzr
Revision history for this message
Martin Pool (mbp) wrote :

If the proposed rule here is "we should make a best guess at what the user meant rather than erroring" then I don't find it very convincing. People can enter all kinds of strange strings by half-editing previous commands.

If we can think of a reason meaning for annotate on a range let's do that. Perhaps it should show a kind of annotated diff, or an annotation only of lines inserted across that range?

Changed in bzr:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Paul Sladen (sladen) wrote :

Yes, what I'd /expected/ to happen is that annotations would be shown for all the lines that changed in that range, with other lines blank... but I was going to the "minimal intervention" approach. I'm perfectly fine that this wouldn't be suitable for bzr-as-a-low-level-tool, but it would be useful functionality if bzr were to transition to focus on higher-level primitives.

If there is scope for looking at range-handling more generally then it might be possible to break that range handling out so that it works more consistently (eg. at the moment 'bzr log -r B..B' returns that matching 'bzr diff -r A..B' whereas 'bzr diff -r A..A' errors).

Revision history for this message
Dimitrios Apostolou (jimis) wrote :

I've needed this one, and it might be a nice way to speed up "blame" command which is painfully slow on huge trees (lp:gcc).

Jelmer Vernooij (jelmer)
tags: added: check-for-breezy
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.