Ask HN - When is right time to start using version control for a project?
I've been working on an iPhone app for about a month and I'm waiting until I finish a key set of features before I put it under version control. I'm making so many big changes that I'd rather not keep track of them all yet. Regular Time Machine backups and archiving a copy of the code after implementing a key feature are the only things I'm doing at this stage.<p>I'm curious though, at what point in a project do you guys normally start using source control management (ie. subversion, git, mercurial)?
17 comments
[ 5.6 ms ] story [ 62.5 ms ] threadWhile that's a bit of git wonkery, it exposes an underlying truth about VC in general: You need to have something to commit to be using it. Whether you init the repository before or after the first file hits the disk is irrelevant.
I'd love to see this feature reach other SCM providersm, it's something i would use a lot.
This post http://www.debianadmin.com/filesystem-encryption-tools-for-l... has a fairly good introduction to the most popular flavours. It's going to vary depending on your needs.
I have a hangup about every atomic commit needing to be a functioning version of the software. Following this logic, an initial commit that is just notes is not viable. Even if it's just some function/class prototypes that only 'raise NotImplementedError', the first commit has to do something you can execute.
I've noticed a trend of boilerplate projects on GitHub for people to use as a foundational branch, and I think that's terrific.
If your version control system has so much overhead that putting code under VC is a chore or something to be put off and planned for, then it has a problem - and you need a new VCS, or at the very least, a new set of tools and workflows.
Use source control from the very start. Git is pleasant to use.
For what other reason is source control used but to maintain track of code changes like this!
Regular Time Machine backups and archiving a copy of the code after implementing a key feature are the only things I'm doing at this stage.
Then your using rudimentary source control anyway :) I'd switch to something more structured asap.
Im with the others: at the start. :) With hosting so cheap now (my choice is mercurial and bitbucket) and with private repositories barely a few clicks away there is no reason not to IMO.