gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] File history and line annotation


From: Mikhael Goikhman
Subject: [Gnu-arch-users] File history and line annotation
Date: Mon, 7 Feb 2005 00:29:03 +0000
User-agent: Mutt/1.4.2.1i

On 06 Feb 2005 12:29:05 -0500, Stefan Monnier wrote:
> 
> It may be.  I also never care to "blame".  Actually I don't even want to
> "annotate" either.  I don't really want the output that "cvs annotate"
> gives me, what I want instead is to trace the live of a piece of code.

Yes, pure "annotate" is of limited usefulness. Still, "tla annotate" may
be done better than "cvs annotate", it may show a summary of line groups.

> I.e. from a set of code lines, I want to see all the diff+log that resulted
> in those lines.  Also, often enough the diff+log is not what I want because
> it just corresponds to a re-indent or a move, so I often also want to see
> the parents of those diffs (i.e. the diff+log that resulted in the text that
> was then changed by those diffs), their parents's parents, ...
> until I really find the diff+log where the code was originally added.

It seems that you speak about the complete file history. Like this:

  http://arch.debian. 
org/cgi-bin/archzoom.cgi/address@hidden/zsh--cscvs--0--patch-3645/README?template=plain?history

or this (with renames and version crossing):

  http://arch.debian. 
org/cgi-bin/archzoom.cgi/address@hidden/postgresql--no-cluster-ports-single--8.0--patch-10/postgresql8.0-8.0.0/debian/control?history

I don't think it's possible to present such information clearly including
hyperlinks in the command line interface. The axp tool however has such
"history" command that may help to analyze a file.

[Baz is likely to have such command too. However, they want to use a
confusing name for it, "log", that would conflict with the term used in
arch for revision log, as in `tla help | grep log` commands. I strongly
oppose to this conflicting name, in favor of a more intuitive "history".]

> With CVS I typically do this manually: `cvs annotate' to find the relevant
> revision, then `cvs diff' to get the corresponding diff and `cvs log' to see
> the corresponding message.  Then if the diff is just moving the thing
> around, I go back to `cvs annotate' the preceding revision, ...
> It's all very inefficient for me.

It's quite possible you may be more efficient with a web based interface.

Or probably a GUI. Try archway 0.1.1, it should give what you need too,
a history of any selected file or directory. I.e. conveniently bunched
revision descriptions with operations for every revision that touched the
file: to visually show changeset or log, or to get changeset or tree.

> In Arch it'll be even worse because the data structure we have is not a
> good match to "tla annotate".  I really wish someone will write
> "tla trace-code" instead of writing yet-another "tla annotate".

Can you formalize such "trace-code" command, its input and output?

I think what you really describe is a web based or a GUI based tool with
a fast navigation in the file history, from one diff to another.

Or maybe even an "annotate"-like look of the file content with an ability
to remove layers (i.e. diffs) from the file. This functionality will be
available in archway together with "annotate" support.

Regards,
Mikhael.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]