How to manage a C++ project with Subclipse? - eclipse

I am developing a C++ app for Linux using Wind River Workbench 4, which uses Eclipse 4.5.2. I have installed Subclipse 1.12.
We maintain our projects in Subversion but previously haven't used Subclipse. Our workflow has been:
Create a new Workbench (CDT) project "in an external location" in
my svn workspace in C:\SVNProj\ (I'm working on Windows).
Save it
Import the project into my Eclipse workspace
(C:\WindRiver\workspace)
Add source files to the project as links to the files under C:\SVNProj\.
This worked fine, although remembering to use links was a bit of a pain.
Now I am wondering if the workflow would be easier using Subclipse. I guess that links are then no longer necessary, but I don't understand how that workflow works.
Do I end up with an svn workspace within the Eclipse workspace?
How would I import the existing project that I can see under C:\SVNProj\?
Do I just import the project directory or all of 'trunk'?
best regards
David

Try importing your project, but without copying into your workspace. Doing that will mean you edit in your SVN directory directly, presumably as you expect.

Related

Sharing eclipse project over SVN

We want to share an eclipse Qt project via an SVN repository.
Of course we need to share the .pro file of Qt to be able to build the project.
The problem is, that without the project files you can not handle the project in eclipse but we cannot use the same as they contain local references.
Also it would be nice to use the Eclipse SVN plugin to manage this.
I already tried to check out the project and create a Qt project on Checkout but this overwrites the checked-out project file.
Any suggestion would be appreciated.
These are some lines from the .cproject file that are autogenerated, so I can not change the absolute paths:
<storageModule moduleId="org.eclipse.cdt.core.pathentry">
<pathentry base-path="/usr/include/qt4" include="" kind="inc" path="" system="true"/>
<pathentry base-path="/usr/include/qt4" include="QtWebKit" kind="inc" path="" system="true"/>
...
There are 2 rules for Subversion (independent of Eclipse, should be the same all the time):
If the tool will regenerate a file, and you don't have to change it:
==> don't check it in your version management (may it Subversion, Git, CVS, ...).
If the file contains parts that are manually changed by a user
==> it should be checked into version management.
If you have the second case (not clear from your question), you should try to change the paths to be relative, so that others could use your project at the same location.
If you cannot change that, stick to the location in the file system. Every developer has to use an identical setup.
If you have to support different operating systems, and the files generated by the tooling are not compliant (shame on the tool makers), you should hold templates for all operating systems in your version management, and should initially (manually) make a copy, depending on the operating system you are working in.
If you have to change that file for some purpose, you have to change the templates as well and should remember that all developers have to make a new copy after that.
Sorry, I don't know Qt and have never developed in a C-environment on different platforms, so my tips are pretty vague.
Finally I found following solution:
No .cproject .project file in SVN!
Import the code files from SVN (also the .pro file for Qt)
Eclipse will ask you to create a project, so create a Qt Project with the same name (or some else, but you will then have to delete the files)
When the project was created, revert it (right MB on the Project in Project Explorer -> Team -> Revert) to the state of the repo checkout
Done, now you can work with the project

How to migrate from TortiseSVN to an Eclipse plugin to manage an established SVN project

I have been working with the same Subversion working copy as a sub-directory of my local server's htdocs folder for months now. I was working in PHPDesigner7 and managing my repository with TortiseSVN. As I am the only one working, I just commit and keep working without any real need for multiple checkouts or updates.
I recently moved from PHPDesigner7 to Eclipse for my every day IDE. I have created a project and used my working copy root as the location. I have been writing all my code in eclipse for about six weeks now, and it seems like it would be much easier to do SVN operations within the IDE. I want to start integrating SVN into my Eclipse workflow, but I want to keep my working copy in the same place it has been. There are a lot of files like Adobe Bridge index files and Docblox configuration files that I do not keep under source control, but are still important to my tools. If I create a new checkout these files will not be present. I also like being able to do local server testing directly from my working copy.
How can I use my existing working copy from within the Eclipse IDE? I have installed Subclipse, but I set my eclipse project up before I decided to try switching SVN management to the IDE. Is it as simple as making my workspace the same as the working copy? I have just been using the Eclipse default workspace. Would I be better off with a fresh Eclipse project? Are there any caveats I need to be aware of when moving from Tortise to Subclipse? I especially wonder if Subclipse does many small commit operations, or if I can continue making fewer heavily commented larger commits? Does anyone prefer the subversive plugin? If so why?
The root directory of your eclipse project should be the root of your working copy. Then you just have to right-click on the project and choose Team - Share Project, and follow the tutorial. At some point Eclipse will ask you if you want to keep the existing .svn files or not. Just choose to keep them.
The workflow in Eclipse is exactly the same as with any other SVN client. You update and commit when you want to. And you may also continue using TortoiseSVN to perform your SVN operations if you prefer. You'll just have to refresh your eclipse project after each operation.

eclipse -restore missing projects

For some unknown reason the projects that I created in a workspace are no longer listed in the package explorer tab. The actual files of the programs still exist on the flash drive which was the designated workspace. How do I correct this problem so that I can access the projects in this workspace?
Are you in a different workspace? Try File > Switch Workspace or if you are in the right workspace already, you could try File > Import > General > Existing Projects into Workspace and re-import the projects.
Create new project on the menu, then select the button "Create project from existing source" and select your project directory on disk.
If you are working with Android projects, the straight import does not work. The fastest way I've found to deal with this issue is to move (not copy) the projects to a different location, then import them back into the workspace, making sure copying the files into the original workspace.
At this time, the Android eclipse plugin has a bug in it which will rename your projects to the package names, rather than using the "friendly" names you intended for the projects. Since eclipse quite often seems to drop projects in this way, this can lead to a great deal of frustration. If this bug is fixed, or you know of a workaround, I would appreciate hearing about it.
I had a case where my project disappeared from the workspace and when I tried to import the existing project into workspace, Eclipse reported the project was already in the workspace! So I simply created a new project with the same name/location as the folder in which the project was located. This brought the project back to life in my worskpace. This worked in Kepler version of Eclipse.
I found a way to resolve this issue without creating a new project.
My projects disappeared from the Package Explorer view when I was in the Java EE perspective. When I switched to the Java perspective, they reappeared in Package Explorer.
Version: Mars.2 Release (4.5.2)
Build id: 20160218-0600
Not sure what caused this issue out of the blue and how long this solution will hold.
A simple solution that requires deleting the affected projects from your workspace, then importing them again:
Delete the affected projects from your workspace (do not delete from disk)
Open the files. File >> Open Project from File System >> Select location of files >> Select projects to open.
After you import them, it should work.
Try a refresh (F5) of the workspace.

pydev and the src directory vs. scm

I'm trying to transition to eclipse+pydev but am having a problem importing projects under scm. My old projects (and also projects on github) don't have the "src" parent directory that pydev seems to really like.
If I use egit or subclipse to import/check out the project, the pydev environment is incomplete. If I externally check out the source and move it into place, I don't seem to be able to tell eclipse it's SCM'd.
I would think this is a FAQ, but I can't figure it out. What is the best practice to use SCM'd projects under eclipse that aren't SCM'd as eclipse projects.
Thanks. Kent
Choose the properties for the project. Then change the pydev-PYTHONPATH - remove the src entry and then add the directory of your project that contains the source.

NetBeans version control for newb?

I'm a relatively new programmer and I've never used version control before. I'm working on a Java project in NetBeans and was wondering about some good version control options that are relatively easy to install and use. Not sure if it matters, but I run OSX.
Subversion was an easy solution for my project constraints. The Subversion guide for NetBeans: http://www.netbeans.org/kb/docs/ide/subversion.html was especially useful in terms of walking me through both installation and basic use.
On the menu if you go to Tools > Plugins, you can choose to install a plugin for whatever version control you're using. I've got IDE 6.7 installed, and it comes with Subversion SVN, CVS, and Mercurial.
When I setup my NB project as an SVN repository, I did it first outside of NB with the 'svn' command. Once set (it makes .svn folders everywhere) NetBeans automatically detected it and allows me to update/commit/all that stuff.
I'm Working on Mac OS X as well, with Netbeans 6.7 + SVN.
First thing to do is to create a new repository where all your files will be stored. This can be done using a GUI tool such as SVNx or through the command line :
svnadmin create REPOS_PATH
Once this is done, you're ready to import your project to the repository through the Netbeans interface ! If everything is set up in your netbeans, you should be able to right click a non-yet-version-controlled project and choose "Team > Import into SVN repository" or something like that (don't have NB right here to search for the right entry).
After that, if everything is alright, your project will be under the SVN version control. You can then do checkout to retrieve local working copy of the code, commit files, revert, etc...
Hope this helps !