I\'ve reached a point in my independent development work where I would like to start using Subversion techniques.
Up to now, I\'ve been simply making backups by exp
Once upon a time, cvs almost completely replaced its competition and ruled the world of version control.
Then it was itself replaced by svn.
And now, svn has been replaced by git.
Git is more complex than svn, so an svn project might well want to just keep bashing along and not convert.
But svn's days are numbered. Git, Mercurial, and some proprietary systems are clearly the future of the VCS world. There are even mechanisms to cross-operate with other types of repositories.
Finally, the transition is easy, because git can be used with a central repo just like it was a (much) faster version of cvs or svn.
Try these searches
https://stackoverflow.com/search?q=free+svn+hosting
https://stackoverflow.com/search?q=free+mercurial+hosting
As for choosing which one - I tend to agree with the google review here:
Learning Curve. Git has a steeper learning curve than Mercurial due to a number of factors. Git has more commands and options, the volume of which can be intimidating to new users. Mercurial's documentation tends to be more complete and easier for novices to read. Mercurial's terminology and commands are also a closer to Subversion and CVS, making it familiar to people migrating from those systems.
Windows Support. Git has a strong Linux heritage, and the official way to run it under Windows is to use cygwin, which is far from ideal from the perspective of a Windows user. A MinGw based port of Git is gaining popularity, but Windows still remains a "second class citizen" in the world of Git. Based on limited testing, the MinGW port appeared to be completely functional, but a little sluggish. Operations that normally felt instantaneous on Linux or Mac OS X took several tenths of a second on Windows. Mercurial is Python based, and the official distribution runs cleanly under Windows (as well as Linux, Mac OS X, etc).
But his is the hands-down clincher:
Maintenance. Git requires periodic maintenance of repositories (i.e. git-gc), Mercurial does not require such maintenance. Note, however, that Mercurial is also a lot less sophisticated with respect to managing the clients disk space (see Client Storage Management above).
I don't want to have to do "maintenance" on the git repos. That's just unacceptable.
Summary
In terms of implementation effort, Mercurial has a clear advantage due to its efficient HTTP transport protocol.
In terms of features, Git is more powerful, but this tends to be offset by it being more complicated to use.
I have not moved all my stuff to mercurial - SVN is just fine for most projects - especially single-person projects.
I am using unfuddle and it is working for me.
Unfuddle
Unfuddle is a secure, hosted project management solution for software development teams.
We know that you don't have time to get a server up and running and then configure and secure code repositories, ticketing systems and valuable project management tools.
Here are some features:
Projects
Work on many different projects and manage each of them from within a single Unfuddle account. Each project has its own set of tickets, milestones, messages and notebooks.
The Dashboard
The Dashboard is the hub of information for a project. In just a glance, you and your team can easily see any recent changes to the source, messages, tickets and any upcoming or late milestones.
Tickets
Unfuddle tickets help your project to stay organized. Prioritize, comment upon and then assign your tickets to your team members.
Painless Subversion and Git Hosting
Exactly what you would expect: Unlimited Subversion and Git repositories for each project in your account, with quick access to the project source code right from within your browser.
Messages
Messages are all about simple and effective communication. If your team cannot communicate well your project will suffer.
People & Permissions
Unfuddle provides you with fine-grained control over what your team can do.