How to use code repositories in Eclipse? - java

How can I use code repositories in Eclipse? Should I use SVN or Mercurial? What way is easiest to use with Eclipse on a Mac. I tried to use Google Code (with SVN and Mercurial), but I need to get JavaHL for it to work. Is there an easier way?
Thanks!

How can I use code repositories in Eclipse?
It depends on the version control technology, but Eclipse has support for a number of technologies, via the "Team" user interfaces.
Should I use SVN or Mercurial?
Your choice. There are other version control technologies supported too; e.g. Git and CVS. Search in the Eclipse Marketplace.
You really need to do your own research on this, and figure out which one best matches your and your project's requirements. (SO is not a survey or recommendation site, so don't expect people to give you recommendations ...)
What way is easiest to use with Eclipse on a Mac.
Erm ... see above.
I tried to use Google Code (with SVN and Mercurial), but I need to get JavaHL for it to work. Is there an easier way?
Unfortunately, the SVN plugins for Eclipse require an implementation of the native JavaHL drivers:
For windows, the drivers are included when you install from the update service.
For other platforms, they are not. You can download them for free from Collabnet (after a signup song-and-dance). The installation and setup is non-trivial, but the process is well documented, and it works if you complete all of the steps as per the documentation. This is, IMO, a "poor user experience", but nobody seems to care enough to fix it. (Guys ... the word you are looking for is "compromise".)
The JavaHL libraries are only required by the SVN plugins. Other version control technologies don't require this.

I've been using subclipse for a while, and I think it is great enough for small projects.
You can try EGit if you are using git as your repository.

If you search for "Eclipse version control", you'll get many recommendations.
SVN (need to install the JavaHL library)
EGit (recommeded if you are using Git)
SourceAnywhere Standalone (provided by the company I'm working for)
Mercurial (MercurialEclipse)
You can test out the above tools to see which meets your requirements best.

Related

Eclipse Plugin Project with JGit implementation

I am creating an eclipse plugin with jgit implementation, thus I need a way to show the development history of a project. I guess I need to write the java code to add, commit and push to a repository from the eclipse plugin. How would I be able to do this? Searching the web has given limited help with this.
This sounds like you are considering some nice new git visualization features. Perhaps adding them to EGit would be best. EGit is already a consumer of the JGit library, so there should be lots of example code to look at.
The jgit-cookbook provides a number of ready to run snippets for many such tasks. And the sources of EGit will provide hints how things can be done in Eclipse plugins.
EGit is providing this already

Are there any Jenkins plugins for Mercurial code review?

I wasn't able to find any Jenkins plugins for Mercurial code review. I've found separate plugins for Mercurial, but they don't seem to integrate with Jenkins.
Is there something like Gerrit but for Mercurial?
Gerrit's older brother, Rietveld (https://code.google.com/p/rietveld/) supports:
Mercurial (this is what you ask about)
Git
Subversion
Perforce
CVS
As far as I know, there is no Rietveld-Jenkins integration, but I believe it shouldn't be a big issue to add a such functionality to the tool. Rietveld provides basic, but sufficient API: https://code.google.com/p/rietveld/wiki/APIs which allows easy integration with Jenkins. Maybe not as feature rich like in the Gerrit case, but the basic functionality (gate-keeping) should be relatively easy to implement.

How to extend Eclipse framework?

I want to base a tool on eclipse in a way that I could change eclipse framework whenever required. So probably writing a plugin is not a good choice ?
I want to extend it in a way as in Rodin(http://www.event-b.org/install.html)
The Rodin Platform is an Eclipse-based IDE for Event-B that provides effective support for refinement and mathematical proof. The platform is open source, contributes to the Eclipse framework and is further extendable with plugins.
So far I decided to download Eclipse platform project as directed in (http://wiki.eclipse.org/CVS_Howto) and downloaded all projects in(
:pserver:anonymous#dev.eclipse.org:/cvsroot/eclipse).
Should I download all of them?
Some of them contain error.
Is it correct way to do what I am trying to do?
How should I remove those errors?
I want to base a tool on eclipse in a
way that I could change eclipse
framework whenever required. So
probably writing a plugin is not a
good choice ? I want to extend it in a
way as in
Rodin(http://www.event-b.org/install.html)
Well there can be two approaches to extend eclipse framework. First approach, as you already know, is writing eclipse plugins. This is the way other platform specific versions or flavors of eclipse do. For example, eclipse Eclipse WTP and Eclipse Modelling work in the same way. They have core eclipse base i.e. classic Java base and then on top of it they have their on set of plugins and features. To give it a more product like feel, they have their own perspectives, views, cheatsheets and splash screen. Also to make your tool extensible you can provide custom extension points. These links would be useful:
PDE Introduction
Plugin Tutorial
Hello world plugin
How to write a plugin for Eclipse?
Eclipse Extension Point
Alternate Approach
The second way is more like making your own product, which in turn is based on eclipse framework, commonly known as Rich Client Platform (RCP). There are tools like IBM Lotus Notes, IBM Sametime, Bittorrent client Vuze. Again if you want to have an extensible IDE then you have to provide some custom extension points or use the existing ones. To make your application moduler, you have to organize it in plugins. The main benefit against the previous approach is that you don't have to ship the plugins which you are not using, which in turn makes your product smaller. The problem with the approach is that you have to think out the look and feel of the IDE, have to implement or least hook into the existing functionality like plugin installation from remote sites, code refactor, Java IDE, run/debug configurations etc. These links would be useful:
RCP Tutorial 1
RCP Tutorial 2
RCP Tutorial 3
RCP Tutorial 4
So far I decided to download Eclipse
platform project as directed in
(http://wiki.eclipse.org/CVS_Howto)
and downloaded all projects in(
:pserver:anonymous#dev.eclipse.org:/cvsroot/eclipse).
Should I download all of them?
Well it depends what do you want to do with them. If you are going to modify some functionalities (add or remove) from them then YES download/checkout the ones which you want to modify. Otherwise, if your intention is to extend eclipse then you need not to checkout/download any of the plugin/sources. Most of them have well defined and documented extension points; just use them.
Some of them contain error. How should
I remove those errors?
Its hard to say how to remove the errors without the stacktrace :). Still you might not need the source as I have mentioned above.
Is it correct way to do what I am
trying to do?
I will suggest you to go in a step wise manner. For me the logical step would be:
Learn about SWT widgets
Play with JFace
Read the releavent eclipse corner articles
Sit back and think what all features you need, out of that what can be reused from eclipse and what extra you need to develop.
Extending eclipse is a very well defined process. You won't face any problem :).
Good luck.
To base a tool on eclipse, you contribute plugins. You don't need to get the ones that are in CVS. Simply go to the eclipse download page, http://download.eclipse.org/eclipse/downloads/ and get the Eclipse SDK. That contains PDE, the Plug-in Development Environment, and source and schema for all of the API you would use.
Then check out the Official FAQ as a getting started reference. There's even a section on how to contribute your own language: http://wiki.eclipse.org/The_Official_Eclipse_FAQs
There's some "Getting Started" stuff on the Eclipse Wiki (includes a lot of the links that Favonius and Paul mentioned).
http://wiki.eclipse.org/Learn_About_Eclipse

ANy way to make java class files in sync online

I am practicing java in Eclipse both in home and college.
Is there any way that when i co the coding the file save on some server and syc there and then when i go to college then again i can use same file
You should look into using a distributed version control system like mercurial on bitbucket. The advantages of mercurial and bitbucket are really easy setup and unlimited private repositories (github doesn't offer this) which is perfect for course work and you get your stuff backed up on the cloud.
You need a revision control system. Take a look at the various plugins for Eclipse, like for example git or svn plugins.
What you need here is Revision control, but you will need to install it in a server you have access from both college and home. Maybe your college can provide you with some space or you might start a personal project in google code or gitHub. :)
I find CollabNet SubVersion Edge pretty Straightforward and easy to configure.

Android best revision control for apps?

Ok so I have my app that I am about to release as a beta. It also has bug reporting feature thanks to ACRA.
Now I want to be updating the beta and also fix any bugs that has been reported.
But of course I would want to keep the original released copy so that I can figure out the bugs and what not.
And then as final versions get released I would want to do the same with each released version.
So I need some kind of version control system. I am new to all this so I'm not sure what the best/simplest way to go about doing so.
I'v googled around and there seems to be numerous revision control systems with a lot of features I don't really need.
But as long at its easy to do what I'm looking for I'll be happy with it. I am also using eclipse so something that goes great with it would be nice.
I'm not too sure how it would all work so any help is appreciated.
Thanks!
Since you are using Eclipse, and all Eclipse projects are using Git, you could use that DVCS (Distributed Version Control System) with your project.
See Eclipse and EGit: Tutorial, combined with the Git Tutorial.
alt text http://www.vogella.de/articles/EGit/images/repositoryview10.gif
Note: this other tutorial introduces both EGit, and Mercurial (other DVCS) plugins.
So you have the choice..

Categories

Resources