Bug 36685 - [CVS Core] move/delete breaks linked resources support in CVS
Summary: [CVS Core] move/delete breaks linked resources support in CVS
Status: RESOLVED DUPLICATE of bug 41929
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Team (show other bugs)
Version: 2.1   Edit
Hardware: PC Windows XP
: P3 normal with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Platform-VCM-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 46544 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-04-21 08:17 EDT by Jean-Michel Lemieux CLA
Modified: 2004-11-09 11:53 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jean-Michel Lemieux CLA 2003-04-21 08:17:13 EDT
Jean-Michel: This is from the newsgroup:

==================================================

I have a source layout which needs overlapping project support, which 
Eclipse can't handle. As of 2.1, Eclipse does support links, which allow 
some of these issues to be worked around. To quote from the 'Flexible 
Project Structure' document, my setup is now something like:

----

Example 1:

|- AllProducts
     |- Product1
         |- JavaSourceFiles
     |- Product2
         |- JavaSourceFiles

This configuration can be supported using only the new linked resources. 
Projects would be left in the default workspace content area, and the 
source folders would be linked into the monolithic directory tree. 
Eclipse artifacts such as .project, along with build output, would 
remain in the default area, thus causing no pollution of the source tree 
with transient or Eclipse-specific files. This solution assumes that the 
resources are not being managed by an eclipse team provider:

/Product1 at default location
    /src - java source folder linked at 
file://AllProducts/Product1/JavaSourceFiles
/Product2 at default location
    /src - java source folder linked at 
file://AllProducts/Product2/JavaSourceFiles

If such a monolithic resource tree needs to use an Eclipse team 
provider, then an extra project can be used whose location is the 
"AllProducts" folder. This extra project would be a simple project 
without a java builder, and would be used for source control purposes 
only. All other projects would not have a team provider.

/MasterProject at file://AllProducts (shared with team provider)
/Product1 at default location (no team provider)
    /src - java source folder linked at 
file://AllProducts/Product1/JavaSourceFiles
/Product2 at default location (no team provider)
    /src - java source folder linked at 
file://AllProducts/Product2/JavaSourceFiles

-----

I do indeed need the team (CVS) provider, so have the master project. 
The problem is that this mechanism effectively breaks down when you get 
into refactorings the rename or move classes. If I go into one of the 
Java projects, and do a refactoring which renames or moves a file, all 
is ok there, and the changes are reflected in the master, team shared 
project. However, when I try to synchronize that project to get my 
changes into CVS, it wants to pull in all the old files under the old 
filenames. This happens I guess because all the changes originated in a 
project which was not team shared, so the team shared project just 
thinks they are missing from the filesystem.

This situation is manageable I supposed when you are talking about one 
file, but when there are multiple files involved as well as some changes 
coming in from other developers, it can get very confusing very quickly.

Am I missing something here?

This is to me another indication that Eclipse must support overlapped 
projects. This is such a common layout that one way or another it needs 
to be done. Allowing one or more directories to be filtered/excluded 
(same as source directories can be filtered/excluded now) at the project 
level would allow subprojects to be defined in those directories, and 
completely eliminate the need for links in a large number of cases.

Regards,

Colin
Comment 1 Michael Valenta CLA 2003-04-21 13:14:41 EDT
The specific problem you are seeing is due to bug 31914 (i.e. outgoing 
deletions appear as incoming additions). This is scheduled to be fixed for 
2.1.1.

However, there is a larger issue relating to who has control over the resources 
involved in the operation (i.e. who has move/delete/save/edit control). The 
full implications of this and possible solutions will need to be investigated.
Comment 2 Michael Valenta CLA 2003-11-13 09:19:59 EST
*** Bug 46544 has been marked as a duplicate of this bug. ***
Comment 3 Michael Valenta CLA 2004-11-09 11:53:56 EST

*** This bug has been marked as a duplicate of 41929 ***