Re: cvs annotate support for tree view

Jens Miltner <[email protected]>
Newsgroups gmane.comp.version-control.cvs.gui.devel
Message-ID <[email protected]>
Am 10.12.2003 um 03:42 schrieb Jerzy Kaczorowski:

> Jens,
>
>> I've done a slight modification to the CompatGetAnnotate API: you
>> can now specify a revision on input.
>
> Actually the modification is redundant - selection handler parameter
> (MultiFiles) ought to carry that information provided that you used the
> revision parameter when adding the file to the selection handler:
> void MultiFiles::newfile(const char* file, const UFSSpec* spec, const 
> char*
> currRevision)
>
> You can retrieve revision using:
> bool MultiFilesEntry::get(int index, CStr& path, CStr& fileName, CStr&
> currRev) const
>
>> This was necessary to allow showing
>> annotated source for a given revision from within the tree view.
>
> I understand that "tree view" is what we call "graph" in WinCvs...?

Yes - it' called Graph in MacCvs, too, but for some reason the sources 
seem to call it tree view...
(I do prefer "graph", though)

>
>> The WinCvs implementation of the annotate option dialog should
>> probably take this into account by presetting the revision if one is
>> passed...
>
> Actually WinCvs can retrieve and allows to select the revisions from 
> any
> selected file. It's available to any dialog that has the tag browse 
> button
> where there is a "Selection"  button showing the details of selected 
> files
> (Filename, current revition and path).

Didn't know that - I'll have to explore that feature in WinCvs...
MacCvs seems to be missing so many feature - where am I going to take 
the time from to implement them? ;-)

>
> I have reverted the changes around the API for now so we can implement 
> it
> properly this time ;)
>
> I understand that what you want is to "preset" the revision. The way 
> to do
> that would be similiar to the CvsCmdDiff API. There is additional 
> parameter
> that indicates where the diff command originates from and allows to 
> decide
> how to preset and query for command parameters. That parameter is set 
> by the
> selection handler which calls the API. E.g. are KoGraphDiffHandler and
> KoDiffHandler that pass three different types of diff operation.
>
> For annotate we would have KoGraphAnnotateHandler and new set of enums 
> for
> annotate type. You would use that handler from graph view only. It 
> will have
> similiar effect to your changes in the end - just the revision will 
> come
> from the selection handler itself instead of additional parameter. The
> parameter only tells the API how and what to get from the selection 
> handler.
>
> In our case of annotate is seems that two types would suffice because 
> it
> doesn't quite make sense to annotate folders where all files get glued
> together.

Yes, I considered that approach, too, but since there would only be two 
types, I thought it would be a bit weird to have a separate type.
However, I do agree that it would make the APIs more consistent, so I 
guess you're right...

>
> BTW: Do you want me to make a screenshot of Annotate dialog for your
> reference?

Don't bother - I'll install the latest version of WinCvs on a PC at 
work. I'd like to do a feature comparison anyway, so I know what's left 
to get MacCvs up to par...

</jum>


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/NhFolB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
[email protected]

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.