views:

525

answers:

9

Title says it all. My app code is starting to get unmanageable and I want to start source control, primarily because I need to branch my code.

What are some good systems that you have used in the past and what would you recommend to me.

Requirements:
Must be free
Must integrate with eclipse
Must work well with android development plugin

+3  A: 

I vote for Git

nanda
Integrates well with Eclipse?
Mirko Nasato
yup.. check egit: http://www.eclipse.org/egit/
nanda
Exacly: says "no downloads are available yet". BTW see http://stackoverflow.com/questions/2074941/current-state-of-git-support-in-eclipse
Mirko Nasato
Seriously, Git is not the **absolute** answer to any VCS question. SVN is pretty good, many users just don't need DVCS and, more important, SVN has better Eclipse support. Things might change but this definitely needs to be taken into account for now. Do you have real feedback about egit (not just a link)?
Pascal Thivent
@akhnaten: I answered your question@Pascal: I've tried Git... and honestly, it worked much faster than SVN. Yes Eclipse has better SVN support, but if that's the only consideration, CVS has the best support in Eclipse.
nanda
The Eclipse Platform is slowly but surely moving from CVS to Git. In a year or two, Git will be the primary VCS for Eclipse.
JesperE
+6  A: 

SVN (Subversion) is very good and there is support for an Eclipse plug-in called Subclipse.

Paul Sasik
http://eclipse.org/subversive/ - is another choice
Nikolay Ivanov
My vote goes to Subversion as well. I have tried VSS (which is horible at handling auto generated files like R.java) and CVS (which regularly gave me a lot of issues). Though i dont have much experience in source control tools, Subversion gave me the smoothest ride.
Funkyidol
+2  A: 

You can set up a project at code.google.com, and use a source code repository provided by them. I think they offer Subversion and Mercurial as source control systems, and I use Subversion.

After you've got that set up, you can just use Subclipse to connect to the repository.

Kaleb Brasee
+1  A: 

I would also vote for Git. I have little experience with Git and SVN, and I enjoyed Git more. It's fast, it's easy, i didn't have any problems with this. There's good Git repository service github.com, but setting up your own repository is very easy. But you can have some trouble with integrating it with Eclipse :(

radex
A: 

If you're using a Mac, try out Versions. It's a tool for managing SVN repositories and working copies, and it's amazing (No... I don't work for them ;-) )They allow you to create repositories on your own computer, or setup a free one at BeanStalk.com

Ben Gotow
Wow, that's amazing >:) And what about the integration with eclipse?
Pascal Thivent
I don't think there's any integration with Eclipse, unfortunately. Eclipse has it's own SVN plugin that you could probably setup, but I've had pretty bad luck with it. I prefer having a separate app to handle version control, and I just refresh the Eclipse project after Versions updates things.
Ben Gotow
+2  A: 

Git and SVN are both good choices, although I'd give SVN an edge since it's probably a bit easier to learn if you've never used a source control system before. As far as Eclipse integration goes, you'd be hard pressed to find a popular source control system that doesn't have an Eclipse plugin.

Erich Douglass
Subversion has a simpler (too simple, some would say) view of the entire VCS problem, but the merging model is fundamentally flawed, causing great grief in more advanced merging scenarios.
JesperE
A: 

I'll put in another vote for subversion. It should be easier to learn than git, and will easily provide all you need.

As for the eclipse integration, you can choose between two different plugins: Subclipse or subversive. You can find lots of interesting debates on the net about which is the better one. I'm personally using subversive because it's a bit more intelligent about trunk/branches/tags handling in svn.

Davy Herben
+3  A: 

Besides all voting for git I'll vote following:
1)If you are willing to use eclipse for android development use SVN or mercurial,becuase:
a) Both has much more better support from eclipse ( I belive EGit is still in beta and no public releases are available yet)
b) They both supported by google code that is excellent source control for open source
c) They both work on all major systems ( no offence but git on windows even with MinGW is sometimes creepy)

2)If not
a) If you are not using windows for development choose Git because:
a-1: android use it
a-2: it awesome
b) If you do use windows choose
b-1: Git if you don't afraid of console
b-2: Mercurial

Nikolay Ivanov
+1 for referring to Git on Windows as "creepy". Indeed!
JesperE
A: 

If you are not working on a team and you just need version control for yourself, SourceGear Vault is free for a single user and they have a nice Eclipse plug-in.

I use it for Android development and it works like a charm.

Timothy Lee Russell