What's the relationship between the two MercurialEclipse plugin sites? - eclipse

What are the similarities and differences in functionality and project leadership between the two MercurialEclipse plugins that are currently (November 2012) available in the Eclipse Marketplace?
Just to expand on the question a bit:
I just want to use the working copy of a Mercurial project within Eclipse, but when I look for a Mercurial plugin I face this confusing choice. I suspect that for the moment it doesn't matter very much which I use. But of course I don't know that for certain.
At present (November 2012), there's a MercurialEclipse listed among products on Intland Software's web site, present in the Eclipse Marketplace as "MercurialEclipse (was: HgEclipse)", with a home page at JavaForge.com. There's another MercurialEclipse in the Eclipse Marketplace as "MercurialEclipse" that is more popular by downloads since August and that has a home page at BitBucket.org.
I see that there's shared history, but at present, looking at JavaForge and BitBucket, they list different version numbers (1.9.1 and 2.0.1 respectively) and different Eclipse update sites. I see that the codebase has diverged and reunited before (http://andrei.gmxhome.de/mercurialeclipse/index.html). Do we now have two sites for two stages in the same line of development? Or is there perhaps a rivalry (whether intentional or unintentional) in which I'll have to choose a side? In that case, does someone here have at hand the relevant information for choosing?

The short answer is they are the same with the Javaforge site lagging behind the Bitbucket site in releases. All bugs should be files on the Bitbucket site: https://bitbucket.org/mercurialeclipse/main
Originally MercurialEclipse was hosted on Bitbucket. Around the 1.5 release if I remember correctly Intland forked it to Javaforge. This is where the name HgEclipse originated. After some time the project reunited on Javaforge. Some time later just before the 2.0 release the project moved back to Bitbucket. There are a few reasons for moving back to bitbucket. One of them being that Intland did not do releases promptly and this caused confusion with users. Another reason is the JavaHg is hosted on Bitbucket and Bitbucket is otherwise a nice host.
Even though Intland has not directly contributed in a while I think they are still interested in hosting releases. Their update site includes Mercurial binaries whereas the Bitbucket one currently doesn't.

Related

Eclipse SVN shows incoming change when no changes

After committing all changes to my SVN repository, I always see "incoming change" on my folders.
I have found similar posts here on StackOverflow, but none ended with a solution. Someone did mention that their repository was set up incorrectly, but did not elaborate.
Any ideas where I can begin investigating?
I am using Juno Service Release 1 Build id: 20120920-0800 and SVN version 1.6 with the following plug-ins:
You must have the Subclipse feature to Show Out of Date folders turned on (it is not on by default). This blog post describes the feature:
http://markphip.blogspot.com/2006/12/subclipse-synchronize-feature-show-out.html
I generally do not recommend using it, which is why the preference is off by default.

TFS Service - Can it be used with Eclipse AND Git

Recently I tried out the new TFS-Service, and really liked the built in Scrum template for project management, and the new ability to create a team project managed with Git.
It would seem that the Git integration is only possible when using Visual Studio on windows though. Using Eclipse (with the Team Explorer plugin) I was unable to work with a git-based team project.
Is this really the case?
Heres what I've tried:
In TFS Service, I have a git-based team project with some commits in it.
In Eclipse, I connected to the team project, but it seems I can't pull or even see the source in any way. Source control explorer doesn't show any code (or any paths even).
In TFS, I created a new git-based team project. In Eclipse I created a new project and used Team -> Share... to try and get the code into TFS. But selecting TFS there doesn't seem to have the disired effect: it doesn't understand that it's a git-based team project, and so it doesn't try to push the code with git, but upload it to a new path ($/some/path/here/).
So is that it, or perhaps there's a workaround? Maybe I did something wrong?
BTW - I know about using TFS with git-tf, and I'm OK with that option, but it's not what I'm asking.
Thanks.
We're working on improving this for the next major version of Team Explorer Everywhere (TEE), but this is what you'll want to do today.
Eclipse already has a full featured Git version control provider in the eGit plugin. This is installed in many versions of Eclipse but if you do not have it you can install it from here:
http://marketplace.eclipse.org/node/1336
To use eGit today against the hosted service you must enable alternate credentials in TFS (click on your name in the top right corner, My Profile, Credentials then enable and configure your credentials).
Once this is enabled you can point eGit at your service account repo and you are good to go. In the Import or Share wizards pick Git and then follow through th eGit dialogs.
When you make a commit, if you add #123 into the work item comment it will associate the commit with that work item number when you push it to the server.
Now, I mentioned that we are trying to make this better. What we are aiming to do is show you both your TFVC and your Git related projects when you import and share and if you have picked a Git repo then we'll help you get your credentials set up, clone it and get the version control parts of Eclipse hooked up to eGit (assuming you have eGit installed). We'll also make sure that the other Team Explorer Views (such as work items, builds etc) all work great and that links to Git commits etc do the right thing. Hope that makes sense - but if anyone wants to talk more about how Git projects will work in future versions of Team Explorer Everywhere then feel free to drop me a mail (martinwo#microsoft.com)

How to setup SVN repository in XCode?

I have got to the point with developing iPhone apps that I need a way of managing versions. I have looked into the ways to do this through Xcode and I see that I can either go down the path of using GIT or SVN.
In the past I have used SVN which is the reason I'm more inclined to go down this path (I'm open to using GIT if people feel it is better than SVN). My question is related to the setup of a repository in Xcode.
I have done a fair amount of research and I have found several useful tutorials, however a lot of the seem to be outdated.
My question is 2-fold:
Please can someone advise on the steps to setup a repository through Xcode?
I notice Xcode requires me to set the location of the repository. I'm not sure what to do here, since I don't have my own server. Is there a way I can get around this? Can I setup a local repository somehow (if so how? if not what are my other options?)?
Thanks in advance for any help or advice people can offer.
I think you should go with using GIT. You can create free repository on bitbucket.org
It allows you to create free account which can be used using 5 members of your team. If you want more you need to pay.
Once you are done with creating repo. just check it out on your pc. There are steps given on that site how to do that. Then in the folder which you checked out, create your XCode project. Once your project is ready, add it to the repository. How to do that is also given on bitbucket. Then once you have committed your Xcode project to repository, add that repository to XCode. How to do that is very nicely explained in XCode guide. Just read that.
If you have a home server (or company server), I would use uberSVN. The guided installation is extremely simple. I actually use this to keep all of my Xcode projects under version control.
Steps:
Install an SVN client. (Bottom-right of the page. You can choose 1.6 or 1.7, and your OS via the tabs on the top of the page).
Install uberSVN.
Setting up one's own Subversion or Git server is something developers shouldn't have to fight with, it can be a pain (in terms of sys administration).
If it were me, I'd consider using GitHub if you want to share code publicly (free!) or if you want to share code privately among several of your own computers.
If you're sharing among your own computers, a "micro" account on GitHub runs $7 per month. This is the option I do for my own private & personal projects. So nice to have support built into Xcode.
There are also other third party providers that do both Subversion and Git, such as WebFaction, but this would also cost dollars as well. All of these services have to recoup the costs of doing your system administration. But I think having somebody else do it for you is well worth not having to deal with the hassle.
SVN requires you to use a server to host your repository on. If you're working on an open source project there are webservices that will allow you to host your repository for free (Google Code for instance). Although it's possible to have the server on the local machine, it's better to use GIT in that case. When you create a new project XCode will propose to setup a GIT repository for you, or see this on how to create a new repository for your existing project.
It's actually very easy to setup a local SVN repository on your Mac and reap the benefits of version control without remote/networked repository.
See e.g. explanation here https://stackoverflow.com/a/10039004/226086
Then the path you give Xcode is wherever you set up the repository, say file:///Users/Shared/subversion/ - under Preferences/Accounts/Add Repository, when it asks "Enter repository address".

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.

Compatibility of EGit - or are there alternatives?

I'm developing with Eclipse and managing my repositories with git and gitorious. Until now, I used git on the command line. I've looked around for a way to integrate git into Eclipse and found EGit. This has also been asked on SO two years ago. But as EGit uses JGit, a git clone written in Java, I'm concerned about its compatibility with the original git.
I know that EGit is missing some (maybe a lot) of git's advanced features, so I would use EGit for daily basic uses like commits, checkouts, pulls and pushes, branching, etc, and use git for more advanced - but less frequent - tasks. Any experiences? I won't use EGit if there is any chance that my repos get broken just because git and EGit didn't agree on how to manage them!
Another question: Are there alternatives to EGit? I couldn't find any.
As one of the developers of EGit and JGit, all I can say is that the projects are still in beta (incubation in eclipse.org terms). We are evolving quickly and have managed to pump out a release every 3 months for the past year. We recently shipped 0.10.1 and are planning to push a 0.11 release at the end of February. Our goal is to ship a 1.0 for the major Eclipse Indigo release in June which would be usable by the whole Eclipse community. This is required because eclipse.org itself is moving to Git.
One of the best things you can do with EGit is to checkout the user guide which aims to help people use EGit in the way it was intended, See Eclipse Wiki
If you have any questions, you can always use our mailing list or bugzilla. More information can be found in our extensive contributor guide.
On a side note, SmartGit under the covers uses JGit to handle the operations. Gerrit the popular code review tool (used by the Android dev team and others) uses JGit under the covers too. JGit has ~1800 tests to ensure compatibility with Git and even has some developers that work on CGit too. In the beginning we had a bit of trouble with compatibility but that is no longer the case with our extensive test suite. The project has developers from SAP, Google, Red Hat and other companies.
I know you are looking for a way to integrate into Eclipse, but in my experience trying to do this does not work. Even if EGit is perfectly compatible with your Git repo's it is still buggy as hell. I use NetBeans now which has Mercurial built in and optional Git plugins, they are still useless!
If you want a nice visual way to work with Git then try SmartGit or Tower. I have used both a little and heard great things about them, but mainly stick to CLI + GitX.