Table of Contents
Mercurial Eclipse Plugin Dev
This is the Development Wiki/Sourcecode repository and Bugtracking of MercurialEclipse the Eclipse plugin for Mercurial (Hg) Source Control Management system.
Please visit MercurialEclipse for the plugin homepage.
Dependencies
You need Eclipse >= 3.3 and command line Mercurial installed with the imerge extension (for Mercurial <= 1.0.x).
Don't use gcj as Java runtime as this does not work with MercurialEclipse? due to problems spawning subprocesses in gcj.
Install the plugin
There is a Eclipse Update site, In Eclipse this should be added in eclipse under "Help"->"Software Updates"->"Find and install..." select "Search for new features to install" and then in the new window select the "New Remote site..." button and add this
Name: Vectrace (Mercurial Eclipse plugin) URL: http://www.vectrace.com/eclipse-update/
You can also try to download the jar file yourself and put in your <eclipse root>/plugins dir from this link, higher numbers are newer plugins
http://home.zingo.org/eclipse-betaupdate/
Here is also a developer eclipse update site it might have slightly newer version not yet released to the public, to use it please add this in the eclipse update site selection.
Name: MercurialEclipse development site URL: http://home.zingo.org/eclipse-betaupdate/
And finally, if you want to try out the most recent changesets in our development repository, have a look at Hackers deploy section.
Releases
| Add new stuff when commited. | ||
| 1.1.867 | 2008-09-30 | Bastian: Refactored and spiced up share wizard (r816), Parse log output with Sax parser instead of DOM parser (r820). Spell check in commit dialog, if spell checking is enabled within Eclipse (r821 & r826). Added signature verification of signed changesets to history view (r833, #28). Fix commit bug. Fix exception in history of a folder, menus in patch queue View, fixed bug not to set root persistent property. Additionally to .hgignore, we're now using Eclipse's ignore settings for determining whether a file is ignored. Support for pulling/pushing/cloning a forest. History and all changeset tables now get changesets only when needed (batching of hg log) Georg K: Better newline handling, run decode filters in get file contents, Better commit message parsing StefanC: Enable copy of history information, Major code cleanup, fixed path problem in zip, quote commit messages and username BrianW: speed improvement (cache in hg root lookup) |
| 1.0.751 | 2008-07-23 | Bastian: Added preview page in push wizard for outgoing changesets. StefanC: Add possibility to configure key bindings for key commands. |
| 1.0.743 | 2008-07-21 | Release 1.0 with Release Party Pictures |
| 0.2.586 | 2008-06-04 | Bastian: convert URI to Mercurial ones on Windows. |
| 0.2.579 | 2008-06-01 | Brian: Using styles for parsing history/log. Bastian: New add branch wizard to complete branch support. Disconnect entry in Team menu. |
| 0.2.536 | 2008-05-25 | Bastian: Support for hg strip. Grouped recover-actions to one group in menu. Added support for projects above project level to add (should work now for whole plug-in), added hg serve from within Eclipse, Fetch/Pull/Push now have a consistent layout and can be given a revision to pull/push up to, revised clone dialog, fetch replaced by similar functionality within pull wizard for being able to use internal eclipse merge |
| 0.2.511 | 2008-05-18 | Bastian: Additional preferences for parametrizing hg, Less flickering of decorator images and Transplant BrianW: Branch support |
| 0.2.490 | 2008-05-14 | Bastian fixed rename |
| 0.2.485 | 2008-05-13 | Humongus lot of changes, |
| 0.2.239 | 2008-04-01 | EPL 1.0, Simple Annotation by Charles O'Farrell, Sortable columns and better coding standard by StefanC, .hgignore, tag support and a lot of other changes by Jérôme Nègre, import and pull from bundle by Zingo and a few Changes by Sebastian and Kim Sullivan, hope I didn't forget anyone if I did edit yourself in it's a wiki you're supposed to do it |
| 2008-03-27 | License is now EPL 1.0 http://www.eclipse.org/legal/epl-v10.html | |
| 0.1.144 | 2008-01-30 | Now it is possible to do Team->"hg log" on folders and not just files |
| 0.1.143 | 2008-01-29 | Incorporate fix for #164 Improved error logging by StefanG |
| 0.1.140 | 2008-01-29 | Fix for #81 Added support for follow rename in Team->"hg log" see #161 #162 thanx to StefanG |
| 0.1.138 | 2008-01-09 | Fix for #155 |
| 0.1.137 | 2008-01-09 | Faster label decoration added by StefanC #93 |
| 0.1.134 | 2008-01-08 | Pull/Push implemented, but no update/merge yet #18 |
| 0.1.130 | 2007-10-03 | Fix for #81 NullPointer? at synchronization repository wizard. |
| 0.1.129 | 2007-10-03 | Lots of changes from StefanC, #31 revert dialog, #92 deadlock fix for windows, #89 Ignore Resource Filter, #69 resizeable commit, #24 Diff in commit (and revert) |
| 0.1.121 | 2007-09-09 | Changelog (hg log) in Eclipse History view, you can open old revision in an editor by selecting Open in the right click menu on the revision. |
Mailinglist
|
| Subscribe to MercurialEclipse |
| Go to online mailinglist reposetory |
Status
It is possible to create a repository from inside eclipse, add files and view diff's. and Commit it, it's in a shape that it works well but don't have all the extra features:
Implemented mercurial commands
- hg init
- hg clone
- hg push
- hg pull repo/bundle (no update/merge yet)
- hg import patchfile
- hg commit
- hg add <file>
- hg remove <file>
- hg diff <file>
- hg log <file> (Output in History View you can from History view open old revisions in the editor)
- hg annotate <file> (Output in console)
- hg status
- hg view (Only on the project and if view extension is installed)
- refactor->move refactor->rename (reports problems but works do a refresh..)
Implemented features
- Label decorators (see LabelDecorator ) (Might have to be enabled in Preferences: General -> Appearance -> Label Decorations)
- diff It uses eclipse diff.
- commit is selective, it will commit the selected files
- hg view, open up that nice dialog (included in hg)
- support of repository root below the project root.
- Annontation in editor
Screenshots
See Documentation page for screenshots and live action shots.
Documentation
- Documentation - Documentation.
- ToDo - future improvements of the plugin.
Hackers
See Hackers page for developer and code information.
Spinoff Projects
There is a bazaar eclipse plugin based on this plugin http://bazaar-vcs.org/BzrEclipse
User Comments
If anyone is remotely interested, please put a small note below so that I know if there is any interest in this plugin, if there is I might speed up my first release a bit. If you don't know how to add your info below, just use the "Edit this page" button below and feel welcomed to the world of wiki's.
Dizan: "I would really love to have a full working mercurial eclipse plugin. Please continue with your work!"
Zingo: Thanks
Alain: I'm very interested in this plugin however when I loaded it up and tried to use it under Windows it caused Eclipse to hang. This is closed in Ticket [29]
Comments from people downloading the repository:
Gunnar: "I like to see this happen. Mercurial seems like the best distributed CMS with support centralized CMS. However, the command line interface is not
so fun. Seeing EclipseMercurial? happen is a great thing! I've attached a patch. See ticket: #6"
Zingo: Great, this is integrated from [16] - Zingo
gwk: Today must really be my lucky day. I could not dream this would be true! May god bless you :) Yes this is really deerly needed. Maybe I can even help, but my time is really scarce, with four kids :-)
Zingo: 4 wow that two more than me, I must be very lazy in that area :)
ipc: Thanks! A full plugin would be nice. When switching applications (CVS -> Hg) a GUI is great
for getting up to speed quickly.
- specifically my team needs/wants the equivalent of the CVS TeamSync? feature. Without that, I can't get buy-in for a cvs2hg switch.
Zingo: Ill try my best to get this started, any special feature you would like or miss?
- "the equivalent of the CVS TeamSync? feature" please exlain more, I have never used the CVS Plugin. add it to a ticket, that will force me to do it :)
Alyx: Thanks a lot, this plug in was one of the few great things missing to Hg.
Zingo: Yeah me to! I was trying to determine if I should go for Hg or Darcs, Hg was a personal favorite but Hg didn't have a Eclipse plugin, thats the story of this plugin :)
Tako: Just found out about your plugin today so I haven't been able to try it yet but please continue working on this because without an Eclipse plugin I'm not going to use Mercurial (for Java) basically :-)
Zingo: It should be usabe right now, but you have to check the console when you do a "status" to check what files are changed. Ill probably start using it on itself later today (2006-06-07).
Ronald: Was asked to look into an Eclipse Plugin for Mercurial. Why re-invent the wheel. How can I help? I'm sure it's best if you wanted additional development we co-ordinate.
Zingo: You alredy have just by evaluating it. You can also add tickets that I will accept/dismiss :)
Panomax: I'm using Darcs in a current project. The Eclipse Darcs plugin seemed to be stalled. Now I am thinking of using Mercurial in a new project. So I googled 'Mercurial Eclipse' today (2006-10-20). That's why I'm here. Your plugin would be quite useful to me. Please keep going! Thanks.
Zingo: Ill try my best to get it little more usable :) Please visit the ToDo Page and edit it to keep me in focus :)
Daniel Holth: I'm interested in MercurialEclipse? because it might open my work up to using better SCM.
Zingo: Don't hesitate to try it out... Mercurial is easy to use and you will probably like it.
loganb: I'm using your plugin at work, it's great, thanks! Still a long ways to go before it is as feature rich as the perforce plugin, but I'm very appreciative of your work so far. It would be awesome, though, if you could publish some docs on how to contribute. I'd like to debug some issues and perhaps submit a patch or two but I know nothing about how to pull the code and setup a good environment to work/debug in.
ccleve, 2007-07-07: Yes, we're very interested. We'd strongly prefer to use Mercurial over Subversion, but the lack of a GUI is holding us back. Most useful features for us: track file moves, deletes, renames; and some kind of integrated merge.
Zingo: Integrated merge is missing, but move,delete and rename should work now (from 2007-07-23).
BryanRJ, 2007-07-24: Nice work, but at the moment it's just a way to avoid having to use the console for SCM. In order to be really useful, there needs to be more integration into the IDE: for example, with CVS I can have annotated editors (in Eclipse 3.3). Merging is crucial, as well. Conflicts happen in distributed SCM.
Zingo: Yes I'm aware of this just bug me about it... I'm not a java programmer and I don't use mercurial to more than this project I also only work on this now and then, but I seem to work more on it when people bug me so just nag :) Please edit the ToDo page... I have started to do some eclipse-SWT tutorials so there is hope that I soon understand how to make the GUI stuff.
a5dF9h, 2007-08-29: The pure existence of this plugin helped me a lot to start using Mercurial instead of Bazaar. Thanks for the good work. Currently I have no experience in the Eclipse RCP framework, but I will give you feedback as I continue using this plugin. BTW see http://www.trac-hacks.org/ for some spam filter solutions, otherwise sooner or later this site will be doomed.
Zingo: Thanx, you know that there exist a plugin for bazaar http://trac.steppenwolf.selfip.net/bzr-eclipse/wiki (it is a spinnoff from this plugin), I have a spam filter installed but I have only recently tuned it, lets hope it works better now.
demerphq, 2007-10-10: The existance of a fully functioning Eclipse plugin for mercurial is seen as a requirement for our company to switch from cvs. Please keep up your good work and help save us from slavery! :-)
Zingo: Ill do my best.
m--s, 2007-10-12: Wow! Please, keep up the hard work, this plugin is really needed! If only "hg merge" and "hg update" were here... these are still obviously not (?), so I have a small question: is it safe to execute these commands outside of Eclipse (by using hg directly), or are there any caveats? I'm asking because maybe this plugin stores some informations internally, independently from ".hg" - is this the case?
StefanC, 2007-10-12: It should be perfectly safe to run hg from the command line (since that is what the plugin does behind the scene) Zingo: 2007-10-13: My Idea is that it should always be safe to run the command line in parallel, only decorators and stuff like that might need some refreshing inside Eclipse. If caching of commitmessages is added the comand line commits will not be detected but that kind of small issues.
halcyon, 2008-04-18: I would like to see the ability to clone a repository and setup the project using the New Project wizard, like you can do when importing a project from CVS.
Zingo: 2008-04-28: This is already available select menu: "File"->"New"->"Other", and then "Mercurial"->"Clone..." see documentation page above I have added some screenshots.
halcyon, 2008-04-28: I'll describe the process with the CVS plugin on the ToDo page. Thanks very much for your work, the plugin helps a lot.
Bernd, 2008-04-26: I was totally unaware of Mercurial before I say some of the OpenJDK projects. We are a big Eclipse using shop and have focused on CVS because of the good team provider. However CVS is so limited that we also search for alternatives (CVSNT is just not good supported in Eclipse, and SVN is slowly gaining support). I would much prefer a distributed tool like Mercurial, and all it requires to switch 50++ developers is your plugin in a stable version :)
Zingo 2008-04-28: I like to think it is quite stable, but it is not so feature rich, or at least it wasn't until about right now, I have got alot of patches from various people (Thanx everyone) next release will have a lot new stuff.
Contact me: info At Vectrace dot com where At = @ and dot = .
Acknowledgements
We'd like to thank the people at ej-technologies for providing us with a licence for JProfiler.
Trac
Trac is used to handle features and bugs within the project, Trac is also used to trac changes and updates.
As all Wiki pages, this page is editable, this means that you can modify the contents of this page simply by using your web-browser. Simply click on the "Edit this page" link at the bottom of the page. WikiFormatting will give you a detailed description of available Wiki formatting commands.
- TracGuide -- Built-in Documentation
- The Trac project -- Trac Open Source Project
- Trac FAQ -- Frequently Asked Questions
- TracSupport -- Trac Support
For a complete list of local wiki pages, see TitleIndex.
Trac is brought to you by Edgewall Software, providing professional Linux and software development services to clients worldwide. Visit http://www.edgewall.com/ for more information.