[Logo] JCVSForum - Community Support For JCVS Users and Developers
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[jcvs] Want to fix bug in jcvs dealing with modules file  XML
Forum Index » JCVS Mailing List
Author Message
jcvslist


[Avatar]

Joined: 03/06/2004 19:54:53
Messages: 3096
Location: Earth
Offline

<pre>
I would like to fix a bug in JCVS and any assistance you can give, to
point me to the area of the code that needs to be fixed would be
appreciated.

In the CVS repository I have defined a module in the modules file called
"Ma" that pulls out two modules and puts them it into a particular
directory structure. The first module(MaImages) is pulled out
successfully but when it goes to access the second module (MA) it throws
the following error:

java.lang.StringIndexOutOfBoundsException: String index out of range: -1

at java.lang.String.substring(Compiled Code)
at com.ice.cvsc.CVSProject.ensureEntryHierarchy(Compiled Code)
at com.ice.cvsc.CVSProject.setSticky(CVSProject.java:2109)
at com.ice.cvsc.CVSProject.processResponseItem(Compiled Code)
at com.ice.cvsc.CVSProject.handleResponseItem(Compiled Code)
at com.ice.cvsc.CVSClient.processResponseItem(Compiled Code)
at com.ice.cvsc.CVSClient.readAndParseResponse(Compiled Code)
at com.ice.cvsc.CVSClient.processCVSRequest(CVSClient.java:1539)

at
com.ice.jcvsii.CheckOutPanel$MyRunner.run(CheckOutPanel.java:343)
at com.ice.jcvsii.CVSThread.run(CVSThread.java:42)

Exert from "cvsrepos" repository's module file:
-------------------------------------------------------------------------------

# Ma site for TomCat and BlueStone (Ma-- Note lower case a)
MaImages -d Ma/images MAimages
Ma &MaImages \
&MA

Note MAimages and MA are real modules in CVS

I originally found the problem in 5.1.1 and just tried it in 5.2.2 and
it is still there.

Any assistance in helping point me in the right direction to resolve
this problem or would be appreciated.

Thanks,

Richard G. Topolewski


</pre>

jCVS Maoiling List arvhive.
[WWW]
jcvslist


[Avatar]

Joined: 03/06/2004 19:54:53
Messages: 3096
Location: Earth
Offline

<pre>I would also very much like to fix this bug. You will find that this bug
is not a simple one to fix. I went a long way toward making the fix easier
when I rewrote much of the code for 5.1. I have not had time to go back
and evaluate fixing the bug in this new code.

Alas, I really do not have any time these days to assist you. I probably
can answer simple email questions, but I do not know if that will be
enough help for you.

The problem boils down to my originally not understanding the entirety
of the CVS client/server protocol when I originally wrote the com.ice.cvsc
package. This lack of understanding made the design weak. I have been
compensating for this ever since, although the 5.1 release helped a lot.

In short, the model jCVS works on is that there is always a *single* top
level node that represents the root of the working directory. However,
when you use '&' aliases in the modules file, the model becomes more of
*several* top level nodes. To this end, in 5.1, I made a new psuedo node
at the top of jCVS's tree named '.'. This resolved many problems I was
having elsewhere, but did not simply eliminate this one. It could be that
a simple change will do it, but I do not know.

The battle will be in 'ensureEntryHierarchy()', and its sister, whose
name I forget now.

What jCVS does, is create a Hashtable of the 'local' paths that it has
seen, with the corresponding 'repository' paths. This mapping is needed
for efficiency reasons, but also covers a couple of cases where life
would be difficult without it. ensureEntryHierarchy() simlpy ensures
that the "tree" for a given entry exists so that we can work with it.

If you turn on the tracing flags in CVSProject, you will get extensive
output relating to the operation of this method, which will help you
to understand what it happening and why the bug exists. Then, you must
fix it *without breaking everything else*, which I emphasize because
this is always hard.

Hope that is enough to give you a start. I will do my best to support
your effort via email, since many folks would like to see this fixed!

tim.

> I would like to fix a bug in JCVS and any assistance you can give, to
> point me to the area of the code that needs to be fixed would be
> appreciated.
>
> In the CVS repository I have defined a module in the modules file called
> "Ma" that pulls out two modules and puts them it into a particular
> directory structure. The first module(MaImages) is pulled out
> successfully but when it goes to access the second module (MA) it throws
> the following error:
>
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>
> at java.lang.String.substring(Compiled Code)
> at com.ice.cvsc.CVSProject.ensureEntryHierarchy(Compiled Code)
> at com.ice.cvsc.CVSProject.setSticky(CVSProject.java:2109)
> at com.ice.cvsc.CVSProject.processResponseItem(Compiled Code)
> at com.ice.cvsc.CVSProject.handleResponseItem(Compiled Code)
> at com.ice.cvsc.CVSClient.processResponseItem(Compiled Code)
> at com.ice.cvsc.CVSClient.readAndParseResponse(Compiled Code)
> at com.ice.cvsc.CVSClient.processCVSRequest(CVSClient.java:1539)
>
> at
> com.ice.jcvsii.CheckOutPanel$MyRunner.run(CheckOutPanel.java:343)
> at com.ice.jcvsii.CVSThread.run(CVSThread.java:42)
>
> Exert from "cvsrepos" repository's module file:
>
-------------------------------------------------------------------------------
>
> # Ma site for TomCat and BlueStone (Ma-- Note lower case a)
> MaImages -d Ma/images MAimages
> Ma &MaImages \

</pre>

jCVS Maoiling List arvhive.
[WWW]
jcvslist


[Avatar]

Joined: 03/06/2004 19:54:53
Messages: 3096
Location: Earth
Offline

<pre>Tim,

Slowly finding time to get familiar with the code.

What if when we run across a new high level directory (created by the & in
the module file) we call establishRootEntry(repository). Before I go
off investigating this too far, any feedback (if this is a good path to go
down or not) would be appreciated?

Thanks,

Rich Topolewski

----- Original Message -----
From: Tim Endres <time@trustice.com>
To: Richard G. Topolewski <r-topolwski@vsi-hq.com>; <jcvs@career.gjt.org>
Sent: Tuesday, July 11, 2000 5:42 PM
Subject: Re: [jcvs] Want to fix bug in jcvs dealing with modules file


> I would also very much like to fix this bug. You will find that this bug
> is not a simple one to fix. I went a long way toward making the fix easier
> when I rewrote much of the code for 5.1. I have not had time to go back
> and evaluate fixing the bug in this new code.
>
> Alas, I really do not have any time these days to assist you. I probably
> can answer simple email questions, but I do not know if that will be
> enough help for you.
>
> The problem boils down to my originally not understanding the entirety
> of the CVS client/server protocol when I originally wrote the com.ice.cvsc
> package. This lack of understanding made the design weak. I have been
> compensating for this ever since, although the 5.1 release helped a lot.
>
> In short, the model jCVS works on is that there is always a *single* top
> level node that represents the root of the working directory. However,
> when you use '&' aliases in the modules file, the model becomes more of
> *several* top level nodes. To this end, in 5.1, I made a new psuedo node
> at the top of jCVS's tree named '.'. This resolved many problems I was
> having elsewhere, but did not simply eliminate this one. It could be that
> a simple change will do it, but I do not know.
>
> The battle will be in 'ensureEntryHierarchy()', and its sister, whose
> name I forget now.
>
> What jCVS does, is create a Hashtable of the 'local' paths that it has
> seen, with the corresponding 'repository' paths. This mapping is needed
> for efficiency reasons, but also covers a couple of cases where life
> would be difficult without it. ensureEntryHierarchy() simlpy ensures
> that the "tree" for a given entry exists so that we can work with it.
>
> If you turn on the tracing flags in CVSProject, you will get extensive
> output relating to the operation of this method, which will help you
> to understand what it happening and why the bug exists. Then, you must
> fix it *without breaking everything else*, which I emphasize because
> this is always hard.
>
> Hope that is enough to give you a start. I will do my best to support
> your effort via email, since many folks would like to see this fixed!
>
> tim.
>
> > I would like to fix a bug in JCVS and any assistance you can give, to
> > point me to the area of the code that needs to be fixed would be
> > appreciated.
> >
> > In the CVS repository I have defined a module in the modules file called
> > "Ma" that pulls out two modules and puts them it into a particular
> > directory structure. The first module(MaImages) is pulled out
> > successfully but when it goes to access the second module (MA) it throws
> > the following error:
> >
> > java.lang.StringIndexOutOfBoundsException: String index out of range: -1
> >
> > at java.lang.String.substring(Compiled Code)
> > at com.ice.cvsc.CVSProject.ensureEntryHierarchy(Compiled Code)
> > at com.ice.cvsc.CVSProject.setSticky(CVSProject.java:2109)
> > at com.ice.cvsc.CVSProject.processResponseItem(Compiled Code)
> > at com.ice.cvsc.CVSProject.handleResponseItem(Compiled Code)
> > at com.ice.cvsc.CVSClient.processResponseItem(Compiled Code)
> > at com.ice.cvsc.CVSClient.readAndParseResponse(Compiled Code)
> > at com.ice.cvsc.CVSClient.processCVSRequest(CVSClient.java:1539)
> >
> > at
> > com.ice.jcvsii.CheckOutPanel$MyRunner.run(CheckOutPanel.java:343)
> > at com.ice.jcvsii.CVSThread.run(CVSThread.java:42)
> >
> > Exert from "cvsrepos" repository's module file:
>
> --------------------------------------------------------------------------
-----
> >
> > # Ma site for TomCat and BlueStone (Ma-- Note lower case a)
> > MaImages -d Ma/images MAimages
> > Ma &MaImages \
>
> --------------------------------------------------------------------
> View List Archive: <http://www.gjt.org/mlist/jcvs/threads.html>
> Search List Archive: <http://csdl.ics.hawaii.edu:8100/>
> To unsubscribe from this list:
> <http://www.gjt.org/servlets/MailingLists/UnsubForm.html/jcvs>
>





</pre>

jCVS Maoiling List arvhive.
[WWW]
 
Forum Index » JCVS Mailing List
Go to:   
Powered by JForum 2.1.9 © JForum Team