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/