[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [Subclipse-dev] Revision Graph

From: Alberto Gimeno <gimenete_at_gmail.com>
Date: Mon, 6 Oct 2008 18:52:09 +0200

Steve, your changes are awesome!

I have added several comments to the findRootNode() method. Tell me if
they are understable :)

You could tell me if there is a public repository that has the problem
of infinite loop in wich I can make some tests.

On Mon, Oct 6, 2008 at 6:09 PM, Steve Elsemore <selsemore_at_collab.net> wrote:
> Thanks Alberto.
>
> Don't worry about the outline view. I got that working.
>
> But if you could look at the findRootNode() method, that would be great.
>
> Thanks,
> Steve
>
>
> On 10/6/08 9:04 AM, "Alberto Gimeno" <gimenete_at_gmail.com> wrote:
>
>> Hi Steve.
>>
>> Sorry for the late response, but I'm on holidays until nex week :)
>> Nevertheless until friday I have a computer and Internet connection.
>>
>> I copied the 10,000 foot outline view from the IBM red book about GEF and EMF
>> (page 131, http://www.redbooks.ibm.com/abstracts/sg246302.html).
>> The implementation is inside
>> org.tigris.subversion.subclipse.graph.editors.OverviewOutlinePage
>> and is supposed to be discovered by Eclipse when it calls this method:
>>
>> [class RevisionGraphEditor]
>>
>> public Object getAdapter(Class adapter) {
>> if(adapter == GraphicalViewer.class ||
>> adapter == EditPartViewer.class) {
>> return viewer;
>> } else if(adapter == ZoomManager.class) {
>> return ((ScalableRootEditPart) viewer.getRootEditPart()).getZoomManager();
>> } else if (adapter == IContentOutlinePage.class) {
>> return getOverviewOutlinePage(); // HERE
>> }
>> return super.getAdapter(adapter);
>> }
>>
>> I don't know why but it doesn't work. There is no error though, just
>> the Outline view says "there is no outline view available". I have
>> tried adding "implements IAdaptable" to RevisionGraphEditor, but it
>> still doesn't work.
>>
>> I'll take a look at findRootNode() and I'll document it and try to
>> reproduce the infinite loop. This method looks for the first time the
>> file was created. It reads the repository backwards from HEAD to the
>> first revision. If the selected file is /branches/a/foo.txt and the
>> repository is this:
>>
>> ...
>> rev3
>> A /trunk/foo.txt
>> rev4
>> M /trunk/foo.txt
>> rev5
>> A /branches/a/foo.txt from /trunk/foo.txt
>> rev6
>> M /branches/a/foo.txt
>>
>> Then this method should find that "rev3 A /trunk/foo.txt" is the root
>> node. So this method is only interested on 'A' actions. And it makes
>> different things if the copySrcPath is null or not. I'll explain it on
>> the code.
>>
>>
>> On Wed, Oct 1, 2008 at 2:01 AM, Mark Phippard <markphip_at_gmail.com> wrote:
>>> On Tue, Sep 30, 2008 at 6:35 PM, Steve Elsemore <selsemore_at_collab.net> wrote:
>>>
>>>> If you have the time, one thing that would be helpful would be if you have
>>>> time to take a look at the Cache.findRootNode method. I've run into
>>>> situations where this method has gotten into a loop and the graph has never
>>>> displayed. I think it happens when you try to open the revision graph for a
>>>> file that is checked out from a local (file:///) repository, but I'm not
>>>> sure. The method is a little hard to read/debug with the nested loops,
>>>> breaks, returns. Anything you could do to make it more maintainable while
>>>> it's still fresh in your mind (even if it's just adding some comments) would
>>>> be helpful.
>>>
>>> I see this with an http checkout too. So it is not because of file://
>>>
>>> --
>>> Thanks
>>>
>>> Mark Phippard
>>> http://markphip.blogspot.com/
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe_at_subclipse.tigris.org
>>> For additional commands, e-mail: dev-help_at_subclipse.tigris.org
>>>
>>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_subclipse.tigris.org
> For additional commands, e-mail: dev-help_at_subclipse.tigris.org
>
>

-- 
Alberto Gimeno Brieba
Presidente y fundador de
Ribe Software S.L.
http://www.ribesoftware.com
ribe_at_ribesoftware.com
Contacto personal
eMail: gimenete_at_gmail.com
GTalk: gimenete_at_gmail.com
msn: gimenete_at_hotmail.com
página web: http://gimenete.net
web favorita: http://debugmodeon.com
teléfono móvil: +34 625 24 64 81
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subclipse.tigris.org
For additional commands, e-mail: dev-help_at_subclipse.tigris.org
Received on 2008-10-06 18:52:20 CEST

This is an archived mail posted to the Subclipse Dev mailing list.