views:

106

answers:

8

I know that SVN Server is very useful for version control, but it is necessary for a one man project to do a web application? (it may invite more member to join in the future, but at this time, just a one man job. ) if it is necessary, any setup manual or recommendation on this? Thank in advance.

+12  A: 

It's important to have a SCM repository for history, branching etc., it's not important to have it on a server. (SVN has a file protocol for local repositories as well. It's not recommended to use this, but it's certainly better than using nothing at all.)

If you want to get a server going fast, check out VisualSVN Server.

sbi
Any open source free svn server is recommend, thank u?
Tattat
This answer pretty much sums it. However I'd like to recommend checking out Git or Mercurial, both of which work without a server due to their distributed nature, and as such are very convenient for one man version control.
Jani Hartikainen
@Tattat: I'm not sure whether this was a question (and if so, what it was), but SVN is Open Source and comes with the ability to be used as a server (using the `svn:` protocol) out of the box. VisualSVN Server isn't OS, but it's free. It's Open Source pendant would be to setup an Apache server to serve an SVN repository.
sbi
A: 

apart from allowing multiple developers work on the same project, the SVN gives you a handful of useful features like versioning, branching/tagging, logging work. It also helps back up the project on a server which is less likely to fail than the development machine. I would still suggest that you use SVN. This is an extremely useful habit a programmer may have.

ULysses
A: 

Frankly speaking, this one man should answer this question. In particular, he should decide if he wants to use such a functionality like version history, branching, releasing and so on. You must remember, that setting up and administrating a repository needs resources and resources needs costs. VCS might be useful even in one-man project, even if it is going to be a big project in the future. I recommend to start without a repository and if you feel that you might want some of the feature I mentioned above, then you could set up one. For me, an SVN Bible is a book http://svnbook.red-bean.com/. I recommend to start with it.

Przemysław Różycki
+4  A: 

Always have a source control for your code, whether it is one man or not. Mistakes happen and source revisions will act as a history of what have worked and what have not.

I would not recommend subversion however. Try Mercurial or Git. They scale faster for small team. Comparing to SVN, you don't have to install a server to use it. You can even use it while you are off the grid (i.e. on the plane, in the car). This can be quite important for small team as you will be moving around a lot.

Dat Chu
A: 

Source-versioning certainly isn't "necessary", although it can come in handy. If you only want a simple solution to back up/share your code, I would recommend using Dropbox

sigint
A: 

As a developer, you need to learn some kind of source control system eventually. It may be easier for you to learn to use it on a small one-man project, where you don't have to worry about many of the features.
If you never make mistakes and your project requirements never change, then you might question whether source control is worthwhile, but most of us aren't in such a position.
As for whether it has to be SVN, that's up to you, but SVN certainly has a large user base with a wide selection of tools that you may find useful, especially if you don't have much experience working with it. TortoiseSVN on Windows or SVNx on OSX would be my recommendations, they make it very easy to set up and use a SVN repository on your local machine.

Larry Wang
A: 

Based on your description, Github should be a good choice (props to Jani Hartikainen for pointing this out too).

Github is a hosted source code repository that is free for open source projects and cheap (~$7/month) for one-man projects like the one you describe. More info at http://github.com/

C Keene
A: 

I think you should always have some sort of source control on your code. I do a lot of "one-man" development, and amongst the other already mentioned benefits, I often find myself doing a comparison between my working copy and a previous version stored in SVN. Take a look at SpringLoops: https://www.springloops.com/signup/. Free for your 1st 100MB and up to 3 projects.

The benefit of using third-party is that you don't need to spend any effort to set up/backup/maintain your own environment.

uhleeka