[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:04:42 +0200

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
>
>

-- 
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:05:04 CEST

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