Bug 128952 - [FAQ CVSNT] Resource ... is not a child of folder ... Error
Summary: [FAQ CVSNT] Resource ... is not a child of folder ... Error
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: CVS (show other bugs)
Version: 3.1.1   Edit
Hardware: PC Windows XP
: P3 critical with 1 vote (vote)
Target Milestone: 3.2   Edit
Assignee: Bogdan Gheorghe CLA
QA Contact:
URL:
Whiteboard:
Keywords: faq
: 128577 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-02-22 05:49 EST by remi bernadberoy CLA
Modified: 2006-05-31 15:14 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description remi bernadberoy CLA 2006-02-22 05:49:19 EST
I have many problems with eclipsecvs when working with a "virtual" directory.
1- I don´t understand why there is a CVS folder in my eclipse project when my module is a folder java inside my projet (not present in others tools as IDEA IntelliJ ).
2- When trying a merge from my version V0 to HEAD I often get a the following exception (when others using IDEA IntelliJ don´t have any problem...):
(Trace from consoleLog)

I LOVE YOU
Valid-responses ok error M E Checked-in Valid-requests Template Set-sticky MT Cl
ear-static-directory Module-expansion Set-static-directory Clear-sticky New-entr
y Merged Removed Updated Remove-entry Update-existing Copy-file Created Notified
 Mod-time
valid-requests
Valid-requests Root Valid-responses valid-requests Directory Max-dotdot Static-d
irectory Sticky Entry EntryExtra Kopt Checkin-time Modified Is-modified UseUncha
nged Unchanged Notify NotifyUser Questionable Utf8 Argument Argumentx Global_opt
ion Gzip-stream wrapper-sendme-rcsOptions Set Rename VirtualRepository expand-mo
dules ci co chown setowner chacl2 lsacl passwd info update diff log rlog add rem
ove update-patches status ls rls rdiff tag rtag import admin export history rele
ase watch-on watch-off watch-add watch-remove watchers editors init annotate ran
notate noop version Rootless-stream-modification Kerberos-encrypt Gssapi-encrypt
 Protocol-encrypt Gssapi-authenticate Protocol-authenticate read-cvsrc read-cvsr
c2 read-cvsignore read-cvswrappers Error-If-Reader server-codepage client-versio
n       Can-Rename Valid-RcsOptions
ok
Root /cvs
CMD> cvs version
version
M Concurrent Versions System (CVSNT) 2.0.58d (client/server)
ok
RESULT> Status OK: org.eclipse.team.cvs.core code=0 ok null
CMD> cvs -n update -r "V0" -d "/edreamsMerge/java/test/edreams"
Global_option -n
Argument -r
Argument V0
Argument -d
Directory .
/cvs/java/test/edreams
Sticky TLowCostExceptionHandling
Directory delivery
/cvs/java/test/edreams/delivery
Sticky TLowCostExceptionHandling
Directory delivery/tnt
/cvs/java/test/edreams/delivery/tnt
Sticky TLowCostExceptionHandling
Entry /JUNITCommonTester.java/0///TLowCostExceptionHandling
Modified JUNITCommonTester.java
u=rw,g=rw,o=r
4926
Directory ecommerce
/cvs/java/test/edreams/ecommerce
Sticky TLowCostExceptionHandling
Questionable CaixaCatalunyaAuxiliar.java
Argument .
Directory .
/cvs/java/test/edreams
update
M ? ecommerce/CaixaCatalunyaAuxiliar.java
E cvs server: Updating .
E cvs server: Updating delivery
E cvs server: Updating delivery/tnt
MT text A
MT fname delivery/tnt/JUNITCommonTester.java
MT newline
E cvs server: Updating ecommerce
E cvs server: Updating random
ok
RESULT> Status OK: org.eclipse.team.cvs.core code=0 ok null
I LOVE YOU
Valid-responses ok error M E Checked-in Valid-requests Template Set-sticky MT Cl
ear-static-directory Module-expansion Set-static-directory Clear-sticky New-entr
y Merged Removed Updated Remove-entry Update-existing Copy-file Created Notified
 Mod-time
valid-requests
Valid-requests Root Valid-responses valid-requests Directory Max-dotdot Static-d
irectory Sticky Entry EntryExtra Kopt Checkin-time Modified Is-modified UseUncha
nged Unchanged Notify NotifyUser Questionable Utf8 Argument Argumentx Global_opt
ion Gzip-stream wrapper-sendme-rcsOptions Set Rename VirtualRepository expand-mo
dules ci co chown setowner chacl2 lsacl passwd info update diff log rlog add rem
ove update-patches status ls rls rdiff tag rtag import admin export history rele
ase watch-on watch-off watch-add watch-remove watchers editors init annotate ran
notate noop version Rootless-stream-modification Kerberos-encrypt Gssapi-encrypt
 Protocol-encrypt Gssapi-authenticate Protocol-authenticate read-cvsrc read-cvsr
c2 read-cvsignore read-cvswrappers Error-If-Reader server-codepage client-versio
n       Can-Rename Valid-RcsOptions
ok
Root /cvs
CMD> cvs -n update -A -d "/edreamsMerge/java/test/edreams"
Global_option -n
Argument -A
Argument -d
Directory .
/cvs/java/test/edreams
Sticky TLowCostExceptionHandling
Directory delivery
/cvs/java/test/edreams/delivery
Sticky TLowCostExceptionHandling
Directory delivery/tnt
/cvs/java/test/edreams/delivery/tnt
Sticky TLowCostExceptionHandling
Entry /JUNITCommonTester.java/0///TLowCostExceptionHandling
Modified JUNITCommonTester.java
u=rw,g=rw,o=r
4926
Directory ecommerce
/cvs/java/test/edreams/ecommerce
Sticky TLowCostExceptionHandling
Questionable CaixaCatalunyaAuxiliar.java
Argument .
Directory .
/cvs/java/test/edreams
update
M ? ecommerce/CaixaCatalunyaAuxiliar.java
E cvs server: Updating .
E cvs server: Updating delivery
E cvs server: Updating delivery/tnt
E cvs server: conflict: delivery/tnt/JUNITCommonTester.java created independentl
y by second party
MT text C
MT fname delivery/tnt/JUNITCommonTester.java
MT newline
E cvs server: Updating ecommerce
MT +updated
MT text U
MT fname ecommerce/CaixaCatalunyaAuxiliar.java
MT newline
MT -updated
MT +updated
MT text U
MT fname ecommerce/JUNITCommonTester.java
MT newline
MT -updated
E cvs server: Updating random
MT +updated
MT text U
MT fname random/RandomNumberTester.java
MT newline
MT -updated
MT +updated
MT text U
MT fname random/ToNotify.java
MT newline
MT -updated
error
RESULT> Status WARNING: org.eclipse.team.cvs.core code=-10 The server reported a
n error while performing the "cvs update" command. null children=[Status WARNING
: org.eclipse.team.cvs.core code=-12 cvs server: conflict: delivery/tnt/JUNITCom
monTester.java created independently by second party null]
I LOVE YOU
Valid-responses ok error M E Checked-in Valid-requests Template Set-sticky MT Cl
ear-static-directory Module-expansion Set-static-directory Clear-sticky New-entr
y Merged Removed Updated Remove-entry Update-existing Copy-file Created Notified
 Mod-time
valid-requests
Valid-requests Root Valid-responses valid-requests Directory Max-dotdot Static-d
irectory Sticky Entry EntryExtra Kopt Checkin-time Modified Is-modified UseUncha
nged Unchanged Notify NotifyUser Questionable Utf8 Argument Argumentx Global_opt
ion Gzip-stream wrapper-sendme-rcsOptions Set Rename VirtualRepository expand-mo
dules ci co chown setowner chacl2 lsacl passwd info update diff log rlog add rem
ove update-patches status ls rls rdiff tag rtag import admin export history rele
ase watch-on watch-off watch-add watch-remove watchers editors init annotate ran
notate noop version Rootless-stream-modification Kerberos-encrypt Gssapi-encrypt
 Protocol-encrypt Gssapi-authenticate Protocol-authenticate read-cvsrc read-cvsr
c2 read-cvsignore read-cvswrappers Error-If-Reader server-codepage client-versio
n       Can-Rename Valid-RcsOptions
ok
Root /cvs
CMD> cvs status "delivery/tnt/JUNITCommonTester.java" "ecommerce/CaixaCatalunyaA
uxiliar.java" "ecommerce/JUNITCommonTester.java" "random/RandomNumberTester.java
" "random/ToNotify.java"
RESULT> org.eclipse.team.internal.ccvs.core.CVSException: Resource random/Random
NumberTester.java is not a child of folder edreams

!ENTRY org.eclipse.team.core 4 0 2006-02-22 11:38:50.750
!MESSAGE Problems reported while synchronizing CVS Merge 'V0 to HEAD'. 0 of 1 re
sources were synchronized.
!SUBENTRY 1 org.eclipse.team.core 4 0 2006-02-22 11:38:50.750
!MESSAGE An error occurred synchronizing /edreamsMerge/java/test/edreams: Resour
ce random/RandomNumberTester.java is not a child of folder edreams
!STACK 1
org.eclipse.team.internal.ccvs.core.CVSException: Resource random/RandomNumberTe
ster.java is not a child of folder edreams
        at org.eclipse.team.internal.ccvs.core.resources.RemoteFolder.getChild(R
emoteFolder.java:345)
        at org.eclipse.team.internal.ccvs.core.client.Command.computeWorkResourc
es(Command.java:226)
        at org.eclipse.team.internal.ccvs.core.client.Command.doExecute(Command.
java:388)
        at org.eclipse.team.internal.ccvs.core.client.Command$1.run(Command.java
:323)
        at org.eclipse.team.internal.ccvs.core.resources.RemoteFolder.run(Remote
Folder.java:457)
        at org.eclipse.team.internal.ccvs.core.client.Command.execute(Command.ja
va:335)
        at org.eclipse.team.internal.ccvs.core.resources.RemoteFolderTreeBuilder
.fetchFileRevisions(RemoteFolderTreeBuilder.java:710)
        at org.eclipse.team.internal.ccvs.core.resources.RemoteFolderTreeBuilder
.fetchFileRevisions(RemoteFolderTreeBuilder.java:270)
        at org.eclipse.team.internal.ccvs.core.resources.RemoteFolderTreeBuilder
.buildTree(RemoteFolderTreeBuilder.java:165)
        at org.eclipse.team.internal.ccvs.core.resources.FileContentCachingServi
ce.buildRemoteTree(FileContentCachingService.java:45)
        at org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot.getRem
oteTree(CVSWorkspaceRoot.java:178)
        at org.eclipse.team.internal.ccvs.core.syncinfo.CVSResourceVariantTree.f
etchVariant(CVSResourceVariantTree.java:80)
        at org.eclipse.team.core.variants.AbstractResourceVariantTree.refresh(Ab
stractResourceVariantTree.java:86)
        at org.eclipse.team.internal.ccvs.core.syncinfo.CVSResourceVariantTree.r
efresh(CVSResourceVariantTree.java:327)
        at org.eclipse.team.core.variants.AbstractResourceVariantTree.refresh(Ab
stractResourceVariantTree.java:55)
        at org.eclipse.team.internal.ccvs.core.CVSMergeSubscriber$1.refresh(CVSM
ergeSubscriber.java:149)
        at org.eclipse.team.core.variants.ResourceVariantTreeSubscriber.refresh(
ResourceVariantTreeSubscriber.java:160)
        at org.eclipse.team.core.variants.ResourceVariantTreeSubscriber.refresh(
ResourceVariantTreeSubscriber.java:125)
        at org.eclipse.team.internal.ui.synchronize.RefreshSubscriberJob.run(Ref
reshSubscriberJob.java:341)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)
!SUBENTRY 2 org.eclipse.team.cvs.core 4 1000 2006-02-22 11:38:50.765
!MESSAGE Resource random/RandomNumberTester.java is not a child of folder edream
s
Comment 1 Michael Valenta CLA 2006-02-22 06:16:47 EST
Could you describe the steps you used to create the project? Are you checking our a folder into an existing project or are you checking out a module defined in the CVSROOT/modules file? If it is a model, could you post the definition that appears in the CVSROOT/modules file?
Comment 2 remi bernadberoy CLA 2006-02-22 07:51:06 EST
I am checking out a module into an existing java project I´ve just created (empty).
Where can I find the CVSROOT/modules file? I don´t see any.
Comment 3 Michael Valenta CLA 2006-02-22 12:34:48 EST
It's an administration file in the CVSROOT project of your repository. You can expand the project in the CVS Repository Explorer and see if there is a line that starts with the name of the module you are loading.

Also, you may be interested to know that there is an option at the bottom of the merge wizard "Perform the merge into the local workspace". This does a traditional "cvs update -j". You should be able to use this without error but conflicts will result in the traditional CVS conflict mrkup that you'll need to resolve manually.
Comment 4 Michael Valenta CLA 2006-02-24 10:17:22 EST
We've had other similar reports of problems with CVSNT. 
Comment 5 Arjan van Bentem CLA 2006-03-01 04:16:20 EST
> Resource ... is not a child of folder ...

I've encounted the very same issues (in both 3.1.1 and 3.2M5), appearently especially when files were deleted by another user (in IntelliJ, commited using Tortoise). Furthermore, I ran into "SocketException: Connection reset" in org.eclipse.team.internal.ccvs.core.connection.Connection.readLine all the time.

However, for me it seemed to be related to the prefixes, as described in some old bug reports. I could not find a way to disable the prefixes in CVSNT 2.5.03, but solved it by renaming the CVSNT repository to match the path (lowercase drive name, like d:/my/cvsrepo, ignoring the CVSNT warning about Unix systems), and changing the Eclipse CVS repository settings to use d:/my/cvsrepo for the Repository Path.

Prefixes: https://bugs.eclipse.org/bugs/show_bug.cgi?id=73646 (and others)

As for the first "bug" in this very report:
> I don´t understand why there is a CVS folder in my eclipse project

See the FAQs, "The command-line CVS client stores information in CVS folders. Does Eclipse do the same thing? If so, where are the folders?" and "Is Eclipse compatible with the command-line CVS client?" -- and read them carefully! http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm-home/docs/online/cvs_features2.0/cvs-faq.html#commandLine_1

Arjan.
Comment 6 remi bernadberoy CLA 2006-03-01 05:04:16 EST
I know cvs uses CVS folders to save repositories information. But I meant that I have one at my project level when it is a "virtual" directory. So my modules are inside the project and the project root should not have CVS folder.
Other CVS clients don´t create a CVS folder at this level.
Comment 7 Arjan van Bentem CLA 2006-03-05 09:15:57 EST
Most important: did the workaround I described for the CVSNT prefixes solve your 2nd problem?

> I meant that I have one at my project level when it is
> a "virtual" directory. So my modules are inside the project
> and the project root should not have CVS folder.

I don't know what you mean with "virtual", so I guess you mean something different. Still, for a structure like

01  /workspace
02
03    /myproject
04      /CVS
05      /src
06        /CVS
07        /java
08          /CVS
09        /webapp
10          /CVS
11        /test
12          /CVS
13      /repository
14        /CVS
14      /resources
15        /CVS
16      .classpath
17      .project
18      maven.xml
19      project.xml
20
21    /anotherproject
22      /CVS

I really do expect the CVS folder on line 4 (I do, for example, need maven.xml and project.xml to be kept in CVS, and also the subfolders repository, resources and above all: src), but not on line 2. And that's indeed how both my installation of Eclipse, WinCVS and Tortoise create the CVS folders.

So what's the directory structure in which you do not expect a CVS folder within the root?

Regards,
Arjan.
Comment 8 remi bernadberoy CLA 2006-04-05 05:28:06 EDT
To answer your question. When I check out a module into a project I do not expect to have a CVS directory at root nivel.
For example:
/Project
   /MyModule1
     /CVN
   /MyModule2
     /CVN

I expect the CVS directories to be at my modules levels.
No reason to have CVS directories at Project level when the project itself is not synchronized to cvs. Others tools don´t create those CVS directories.

About the prefixes. Well, I have to say I don´t get what I am supposed to do from the client side.

IMPORTANT:
It seems that I get the ".. is not a child of folder ... Error" every time somebody adds a new directory in CVS (throught others cvs client like tortoise or IDEA). Like if eclipse does not create new directories and then tries to check out files into missing directories.



Comment 9 fengyufeiyang CLA 2006-04-17 23:59:17 EDT
   Since found this error, our team work with cvs can't be normally. we 
got in a big trouble. 
   We only can do that: Everytime someone add a new directory and add a 
file in this directory and commit it(it seem that it only commit the new 
file action, and not commit the new directory action). other developer want 
to update the code, he is in the big trouble, he only can update the whole 
project directory, this is a danger work, and is not a normal way to do the 
work.

   it puzzled us for 2 month....

   So, we are eager to know how to fixed this problem, or when will the 
eclipse update or fixed this bug?



   Thanks you.

                                                A java developer from 
China.

Comment 10 Daan de Wit CLA 2006-04-21 10:57:22 EDT
I am also experiencing this since upgrading cvsnt to version 2.5.03.2260 from 2.0.something
Comment 11 Bogdan Gheorghe CLA 2006-04-26 09:51:57 EDT
I haven't been able to reproduce this yet.

Can anyone provide me with a set of steps to reproduce this behaviour? Please include as much detail as possible - (ie. start from a blank workspace) Thanks!
Comment 12 Cornelis Hoeflake CLA 2006-04-27 03:33:27 EDT
Suppose you are in a team which at least 2 persones, lets say person A and B. Furthermore we have an existing (simple) directory structure. The project is called Root.

Now, person A adds the directory 'TestSync' somewhere in the structure. In the directory a file called 'TestSync.java' is added.
Person B synchronizes for example Root.
Now you get the error: An error occured synchronizing /Root: resource .../TestSync/TestSync.java is not a child of folder Root

I thing the problem occurres when somebody adds a new directory which a new file in there.
Comment 13 Cornelis Hoeflake CLA 2006-04-27 04:02:17 EDT
On CVSNT 2.5.03.2260 we have checked the "Emulate '-n checkout' bug" (Compatibility tab). Now everythings works nice.

So it seems to me that Eclipse depends on a bug.
Comment 14 Michael Valenta CLA 2006-04-27 09:38:52 EDT
The "cvs -n update" behavior is the behavior of a 1.11.2 server. Although this may not be the desired behavior, it is the behavior none the less. IMHO, it is a bug in CVSNT to have a separate preference for it. We will update the FAQ and server compatibility page with this information.
Comment 15 Hosam CLA 2006-04-27 15:14:21 EDT
*** Bug 128577 has been marked as a duplicate of this bug. ***
Comment 16 Michael Valenta CLA 2006-05-31 15:14:42 EDT
FAQ updated