[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [platform-cvs-dev] Partially shared project?


The root of the issue (if you pardon the pun) is whether you consider  the project itself part of the source tree or part of the build area. Eclipse was designed with the assumption that the project directory is part of the source tree. This has some advantages in the sense that the contents of the directory (.,project and other settings files) are placed under version control as well. Hence, the senario where your build output is a link directory works very well with repository providers like CVS.

The scenario you are describing seems to treat the project as the build area and you link in the source. Unfortunately, Eclipse just wasn't designed with this type of scenario in mind. That's not to say that it couldn't support it. The only real restriction on projects is that there is a one-to-one mapping between a project and a repository provider so it would be possible to modify the CVS provider to accomodate this scenario. However, this would be a lot a of work. Before I can comment further, I would have to understand why the project folder couldn't be under source control and have the build directory be a link. Is this something that is fundamental to CMake or could the CMake Eclipse integration be modifed to output the .project etc. into a project directory that was part of the source tree?


"Eric Noulard" <eric.noulard@xxxxxxxxx>
Sent by: platform-cvs-dev-bounces@xxxxxxxxxxx

02/08/2007 05:31 AM

Please respond to
"Eclipse CVS Integration developers list."        <platform-cvs-dev@xxxxxxxxxxx>

"Eclipse CVS Integration developers list." <platform-cvs-dev@xxxxxxxxxxx>
Re: [platform-cvs-dev] Partially shared project?

2007/8/1, Michael Valenta <Michael_Valenta@xxxxxxxxxx>:
> Eric,
> The Eclipse Team architecture requires that projects be shared from the project root. The only workaround I can suggest is to improt the lined folder as a top level project as well. You should then be able to perform CVS operations on the top level project.

Such a shame this choice is built-into Eclipse Team architecture!
I will motivate my opinion in the forthcoming lines however
at first glance do you think Eclipse Team architecture may
be extended/modified to support partial sharing?

The need is concrete and simple.

I'm using CMake (http://www.cmake.org) for several projects
(at least 2 of them are open source
 https://savannah.nongnu.org/projects/tsp and

CMake is a cross-platform build system generator which may generate
Makefiles on Unix, MS Visual Project file on Windows, XCode on Mac etc...
There is an alpha generator for Eclipse CDT
there is a growing interest in the CMake community to have
an Eclipse CDT generator.

The usual best way to use CMake is to separate the
SourceTree (which is under version control)
from the
BuildTree which is where generated files reside.
With CMake, generated files are both the usual result of compilation
AND the target build system files (Makefiles, Project files etc..)

as an example you may try:

0) Install CMake
 (you need CMake from CVS HEAD if you want to test CDT Project File Generator)

1) mkdir CMakeTest
2) cvs -z3 -d:pserver:anonymous@xxxxxxxxxxxxxxxxxxxxxxx:/sources/tsp co tsp
3) mkdir Build_tsp; cd Build_tsp
4) cmake -G"Eclipse CDT4 - Unix Makefiles" ../tsp
  (you may try another generator if you do not want to
   compile the CVS CMake version)

Then you may "Import an existing project" from Eclipse
and you should obtain more or less the same project as the
TSP screenshot on http://www.cmake.org/Wiki/Eclipse_CDT4_Generator_Development.

In the obtained project the CVS handled source tree is
a LinkRessources and the .project and .cproject are located
in the BuildTree since they are "generated" files.

This is the reason I wanted (and in fact exepected) Eclipse to simply scan
project directories for any existing CVS directory (or whatever administrative
files of the used Version Control System) and enable Team Menu
on the concerned folder.

What is your opinion regarding this "feature request",
is it acceptable?

How can I file it to Eclipse Project ?
Should/May I contribute the feature ?
If I contribute is there a chance it will reach mainstream Eclipse?

platform-cvs-dev mailing list