Working with several repositories at the same time with Subversive in Eclipse - eclipse

I would like to use two svn repositories. One is to synchronize with my production environment and the other is to synchronize with another developer. Is it possible using Subversive in Eclipse?
EDIT: Sorry! I meant SVN, not CVS

I think what you means is "For one given project, I would like to be able to synchronise on one side with the official repo and at the same time, use the synchronisation and merging facilities to stay i sync with another CVS repository".
Best of my knowledge, this is not possible from the same project. Neither with CVS nor with subversion nor with any other SCM. This is a little bit because all SCM plugins are actually plugged into the Team Management plugins of eclipse and has actually a lot to do with the fact that the relation between a dev environment and a repository is quite exclusive.
What you have to do if you want to synchronize on an exceptional basis is :
Disconnect from one repo (say CVS) (team disconnect). Do not delete the .cvs folders.
Reconnect to a second repo (say SVN - either subversive or subclipse <= my preferred one)
Synch with SVN
disconnect from SVN
reconnect with CVS (team => share).
This is too risky to be done on a regular basis.
Therefore there are other strategies
Use a "shadow project" in your workspace synchronised through a regular synchronisation tool. The master project being connected to the CVS repo and the shadow to VN.
Use git + SVN. git as your local repo backed by SVN. The other developer can use a similar approach.
All in all there are no simple "out of the box" solution. All these solutions require a significant amount of commitment to work flawlessly. But SCM has always been like this, I guess.

Subversive adds Subversion
integration for Eclipse (subversion
is a version control system similar
to CVS). It does not handle CVS
repositories!!!
To use CVS repositories with eclipse
you should use the appropriate CVS
Plugin for eclipse.
You may even use both eclipse plugins (subversive and the cvs plugin). They will work with Eclipse like a charm (but keep in mind that subversive only handles subversion repositories).

Yes its possible to use Subversive in Eclipse. I am using Subversion and CVS both through Eclipse and Tortoise. Subversion is much faster and seems to handle binary files better. The one thing to get your head around is that revision numbering is totally different between subversion and cvs. May be this can help you.
Hope this helps.

Related

Keep CVS folder in EGit commit

I am experimenting the use Git to manage development environment for one of my client project which is on CVS (and can't move out). Since the environment is quite complicated and has multiple steps to setup, I am hoping version controlling would help. So far it is actually very helpful to do it. However, all the project CVS setting (like the CVS module and branch) are not tracked by git via EGit plugins. so when we recreate the environment we have to reshare the projects that is really inconvenient.
I dig down on the issue and found that EGit does not track CVS folders in those project so the CVS information is lost.
Is there a way to tell EGit to track those folders?
Thanks all.

Comparing different versions of a Java project

I am not an experienced Java developer and I am currently modifying and re-building a plugin project. I am about to adopt a versioning control system (e.g. Subclipse), however I already have several versions of such project. My intention is that to check how these versions differs from each other and I was wondering what is the best approach into this. I work with Eclipse IDE.
Thank indeed,
I.
Subclipse just connects Eclipse with a Subversion repository. You have to have a Subversion repository somewhere for Subclipse to work.
Assuming you have a Subversion repository, you commit the oldest version first. You create a Eclipse workspace on you computer that you'll use to communicate with Subversion. First, you copy the oldest version of your project into the Eclipse workspace. Then you commit the workspace. You update your workspace by copying each saved version to your Eclipse workspace in turn, and commit.
That way, the source control will be able to show you the differences between each saved version.
Ctrl click on the root of the two projects, Right click, then Compare With -> Each Other
Pro tip: use a better source control system than svn, like Bazaar, Git, or Mercurial

Is there a plugin for Eclipse that allows two people to edit the same project at the same time?

A friend and I want to work on the same project. Is there a way that we can work on the same project at the same time and have the files stored on Google Drive or Dropbox?
You really want to use a version control system, like mercurial or git. There are lots of hosting options for both of these, like github, bitbucket and others.
Edit: As was observed in a comment, you may also take a look at Subversion or CVS. Whichever works best in your case.
As for Eclipse integration, there are solutions for most systems :
http://javaforge.com/project/HGE for Mercurial
http://www.eclipse.org/egit/ for Git
http://www.eclipse.org/subversive/ for SVN
You can Setup a remote git Server or use bitbucket
In Addition with egit for eclipse :)
I Have done this yesterday and it works pretty well
//again too slow :P

Version Control for School Project

we will be doing a project for our Object Oriented Software Eng. class, and our team consists 4 people, including myself. Our groups were made random, so I do not know their level of skills. Maybe they have never heard of version control. I am looking for a system that will allow us to work together. I have used SVN and Git for a very little time. However, I am not very confident with them. Can you suggest a nice and easy to use system that is compatible with Eclipse or NetBeans IDE? Simplicity is the most important thing and I do not know how to use Git or SVN for a project more than one people. (I have only used them individually)
You need to have some kind of Source control.
If you have used SVN/GIT in your own projects using it in a team is just as easy. SVN is easiest, however even though it is a little harder I would go for mercurial with tortoiseHG, hosted for free at bitbucket.
It will Integrate into the windows UI
Its distributed which will make things smoother and reduce merge issues
You get free private hosting
You can use tortoise SVN or VSS (Visual source safe) to maintain project among multiple peoples. In both tool, you can maintain local copy of project in your PC and commit your changes on server when it completes.
Version control tools comparision : http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
Have a look at Mercurial. It is easy to use and portable (it's written in Python). If you use Windows, you will probably find TortoiseHG useful too, as it provides Explorer extensions for mostly all functions Mercurial supports. There are also many sites that provide free project hosting for this VCS, such as BitBucket. And here is a nice tutorial about Mercurial.
EDIT: I once found a Mercurial plug-in for Eclipse. You can find it by searching in Help > Install Software in Eclipse.
I have used Dropbox as source control in a project once, it worked ok you can also revert to old version of your files which is great, we didn`t have to work in the same files so there was no conflict.
But now that I have gotten used to svn and mercurial I would never use something else. I too would recommend using mercurial with tortoiseHg and a bitbucket acount. I have started using it for smaller project as well, I simply did a repository with all of them in it so I have at least a backup and I am able to revert to an old version if need be.
My recommandation is to avoid sharing a folder using tools like dropbox and use a real source control like mercurial hosted on bitbucket (free for project with less than 4 users).
I'd say using SVN or GIT is a bit over kill for a school project which is likely to not last that long.
Another option would be to use something like DropBox.

Git-svn and Eclipse?

Is there a plugin for Eclipse for git-svn? I'm looking for a way to handle the SVN repo with Git (for fast branch switching etc.)
It does not look like there is a Git plugin for Eclipse that supports git-svn yet.
EGit appears to be the most active and popular Git plugin for Eclipse at the moment and it does not support git-svn, but there isn't anything stopping you from using EGit with Eclipse and interacting with git-svn via command line (or via tortoise git for example).
Eclipse bug 315264 is the EGit bug for supporting git-svn, and it looks like something that the maintainers of EGit are willing implement, but they have other priorities atm. So make sure you vote for this bug if you want the feature.
EGit is the only Git plugin for Eclipse at the moment. It doesn't support git-svn. But there is a way to make EGit work with your Subversion repository and this approach works well with any other Git client.
SubGit is the server-side solution that enables Git access to your Subversion repositories as well as Subversion access to Git repositories. You may refer to SubGit documenation for more details, but in general they are quite straightforward:
$ subgit configure --layout auto $SVN_URL $GIT_REPO
# Adjust $GIT_REPO/subgit/config
# to specify your branches, tags and other settings
# Adjust $GIT_REPO/subgit/authors.txt
# to introduce svn author names to their git counterparts
# Adjust $GIT_REPO/subgit/passwd
# in case you have no SVN credentials cached on your machine
$ subgit install $GIT_REPO
$ ... translating ... a little git is gonna born right here ...
$ TRANSLATION SUCCESSFUL
After that:
You have Git repository at $GIT_REPO synchronized with SVN repository at $SVN_URL; this sync is reliably bi-directional, i.e. both SVN and Git repositories remain writable and SubGit takes care of changes from both sides.
SubGit has installed hooks into $GIT_REPO/hooks directory which are triggered on every git push to that repository.
SubGit polls SVN repository in order to fetch new revisions.
Please note that your teammates may use the same mirror for sending their changes to Subversion repository. In this case you should setup Git server, fortunately, SubGit supports virtually every Git server available at the moment:
Apache HTTP server with git-http-backend, GitLab, Gitosis, Gitolite: supported out of the box;
Atlassian Bitbucket Server: in this case you can use SVN Mirror add-on which is built on SubGit engine;
Gerrit: you'd need to install SubGit plugin for Gerrit in this case;
Disclaimer: I'm SubGit developer; SubGit is commercial software with free options for small teams, Open Source and Academic projects.
Although this question is 4 years old, I thought I would share my recently found workaround:
Open "External Tools Configurations" (right next to "Run
Configurations") and create a new "Program" configuration.
For the working directory, choose your project from the workspace.
Enter svn dcommit into the arguments textfield.
Duplicate the configuration and replace svn dcommit by svn rebase.
Now you can launch git svn dcommit and git svn rebase with two clicks.