We keep .classpath files in ClearCase. When a teammate gets a project from ClearCase, Eclipse complains that .classpath file is readonly. It is readonly because the teammate has not checked it out. We don't want them to check-out .classpath files, as changes on these files should be reflected to their workspaces without extra effort.
Is there anything we can do to stop Eclipse complain about readonly .classpath files?
Looking at the JDT source code it is expected that this file is available and is read/write at all times. I don't see anything to work around this.
Related
I'd like to share an eclipse project with several people via version control (in my case mercurial). Can you tell me which files I should add to the hgignore-file?
What about the .settings folder, .classpath and .project files? Any other things to be aware of? Thanks.
Yes, you need to add only those three files/directories : .settings, .classpath and .project
Also, you need to include into hgignore-file the directory where .class files are generated.
I know that you can ignore the file (preference-team-ignore resources) type while committing to CVS from eclipse however how can I ignore the file type being synchronized with CVS. I have got 40 project in workspeace and every time I sync with CVS, it list all the .classpath files from all the project however I would like to ignore this file to make CVS sync view better.
any help will be appreciated.
Cheers
You can add the .classpath file to the .cvsignore file. In Eclipse, you should be able to right click on the .classpath file and go to Team -> Add to .cvsignore. Here are some additional details.
I'm currently working on several eclipse projects, using Perforce as my source control. I have the perforce eclipse plugin installed.
My problem is that eclipse likes to, for no particularly good reason, write to my .project or .classpath files. It also loves to change the order in which things appear. As such, it demands that I have these files checked out almost all the time. I've somewhat worked around this by creating a pending changelist called "Files which I've checked out for convenience" and stuffing all of the metadata objects that eclipse asks about there.
This has the downside that if anyone updates some metadata (for example, adding a new project reference or changing the classpaths) I now have to resolve differences before they'll show up, adding extra time and trouble to my project.
Coming from Subversion, this is a really rude surprise. With SVN I could just wait until I checked in and move these files to the ignore-on-commit changelist, as needed. SVN would also merge new updates into these files without bugging me.
Basically, is there any way to prevent eclipse from constantly futzing with my projects, or am I just stuck here?
I'm assuming the .classpath and .project files are in version control, since that what causes them to be read only. There is an option in Perforce using P4V to make just those files always writable. Right click the files and select 'Change Filetype...' and select the +w Always writable in workspace option. This will affect all clients using that branch / stream, but now changes can be made without marking for edit first.
If you would like that to be the default for all of your depots, then you can have a Perforce admin to change the p4 typemap so that any new .classpath and .project files will be writable.
See http://www.perforce.com/perforce/r12.1/manuals/cmdref/o.ftypes.html
Have you tried adding a .p4ignore file to the project root dir, containing
.classpath
.project
Support docs for P4IGNORE
I have some projects on bzr code repositories shared with colleagues.
Problem is, I really want to switch to eclipse in some projects, but I don't want to pollute the repository with the unnecessary metadata eclipse creates in its Workspaces.
Any idea how to keep Eclipse's metadata outside my bzr repo?
Adam
If you know the names of the meta files created, you could put them into your .bzrignore file in your repository's directory.
See this part of the bzr docs
All the main metadata in eclipse are in the workspace.
You project, meaning:
your .project file
your .classpath file
your .settings directory
your source files
should all be located elsewhere, within your main project directory.
All those files (except the .class files generated by the compilation) should be versioned.
See "Do you keep your project files under version control?" for more, but also:
What to put under version control?
When working with Eclipse, should I add the workspace to the source control?
I'm working on a new project with a full ANT build. I use eclipse to write my code, and I would like others to be able to check out the project to have a full working eclipse workspace. I do not want to have specific user settings committed though.
What files and directories should I have in source control?
(I'd rather not just go grab a plugin - I prefer more control over what goes in the repository)
We just put .project and .classpath in our repository, and that's sufficient to make it work "out of the box" for new developers. I'd like to have other stuff (run configurations come to mind), but haven't figured out how.
We use Subversion, so I put these files in a separate directory and defined svn:externals on that directory to point to the actual code, leaving it unpolluted by IDE-specific files.
Per request in the comments, here are the external that we use. Nothing complicated going on here:
Properties on 'svn://dev/trunk/IDEs/eclipse/runtime':
svn:ignore
bin
.fbprefs
cobertura.ser
.settings
svn:externals
lib/bin svn://dev/trunk/lib/bin
runtime svn://dev/trunk/runtime