Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

The question is fairly self-explainatory.

Is it worth using VCS (Version Control Softwares) for hobbystic/small/personal projects?

share|improve this question
2  
No, you probably shouldn't be using CVS, as the world has moved on and that software isn't being maintained any longer. You might want to look into newer version control systems like Subversion (fairly similar, as it's centralized too) or Git (distributed, feels more lightweight, but has a long learning curve). I personally use Git for any project that has it's own folder, no matter how small. –  amon Dec 31 '13 at 21:51
    
By CVS I did not specify which software but only the control versioning practice of doing so. –  GiamPy Dec 31 '13 at 21:53
    
CVS is a specific version control software. Sorry for the confusion –  amon Dec 31 '13 at 21:57
1  
If you mean the type of software that RCS, CVS and SVN belong to you may wish to refer to "VCS" which stands for Version Control Software. CVS itself is a specific implementation of this concept. –  MichaelT Dec 31 '13 at 21:57
1  
@vincent back in the days I used RCS (those days, CVS was just shell scripts that called RCS). A similar process, though all you had to do is create a subdirectory "RCS" and you were done. I admit that I still do keep my .files in RCS even today. –  MichaelT Dec 31 '13 at 22:22

4 Answers 4

up vote 9 down vote accepted

Yes, it is worth using a Version Control System/Software Configuration Management system such as CVS, git, mercurial, subversion, etc. If you don't use a true version control system, you'll probably end up creating your own ad-hoc system with folders or zip files, and it won't be nearly as capable, efficient, or as easy to use as a commercial or open-source version control system.

You originally mentioned CVS, but that may not be the best fit. It's old and it's designed to be installed on a central server (though you can just install it locally). Although it has branching and tagging and merging, it doesn't always do a good job. You would probably be better served by a modern distributed version control system like git or mercurial. And although you can technically use any version control system, you can work a lot more smoothly if you choose one that is well-supported by the other tools in your toolchain.

share|improve this answer
    
+1 for mentioning that people without any vcs tend to create backup files manually. It's quickly a mess. –  vincent Dec 31 '13 at 23:37

Yes, it's worth using, but for different reasons than are typical on large shared projects:

  • You might have long gaps where you don't work on a personal project. Having the history makes it easier to see where you left off.
  • It makes it easier to experiment and get back to a known good point if it doesn't work. On personal projects I do this much more often than at work, where I usually don't have the luxury of spending time on a concept that doesn't work.
  • It makes it easy to sync between different environments, say a laptop and a desktop.
  • You can easily get a bitbucket account or similar and have a backup of all your work, together with an issue tracker that helps you keep track of what you wanted to do next.
  • It makes it easier to answer questions like, "Have I really removed all the debug code I don't need anymore?" or "What have I changed since this part last worked?"
share|improve this answer

Yes. You don't know when a project will become something much bigger or when you'll want to go back in time. Also, it's good practice.

On the other hand if you are just doing very small things, like tutorials or things you doubt you will be using a week from now, I say "why bother?".

share|improve this answer

No, you probably shouldn't be using CVS, as the world has moved on and that software isn't being maintained any longer.

You might want to look into newer version control systems like Subversion (fairly similar to CVS, as both are centralized) or Git (distributed, feels more lightweight, but has a long learning curve). I personally use Git for any project that has it's own folder, no matter how small: Creating a new repo is an incredibly cheap and easy operation and has no real downsides.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.