[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
[news.eclipse.tools] Links effectively break Eclipse refactoring and VCM integration
|
- From: Colin Sampaleanu <colinml1@xxxxxxxx>
- Date: Thu, 17 Apr 2003 09:13:22 -0400
- Newsgroups: eclipse.tools
- Organization: EclipseCorner
- User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3) Gecko/20030312
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