Alberto,
We're not currently seeing the loop problem. If it comes up again, I'll try
to debug it, in which case your comments will be helpful. Thanks.
Steve
On 10/6/08 9:52 AM, "Alberto Gimeno" <gimenete_at_gmail.com> wrote:
> 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
>>
>>
>
>
---------------------------------------------------------------------
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 19:34:37 CEST